Android開発者のスキルと面接の質問

Android開発者のスキル は非常に需要が高く、スマートフォンやタブレットなど数え切れないほどの機種に搭載されているAndroidが圧倒的なモバイルOSであることから、今後さらに需要が高まることが予想されています。このような状況を受けて、当社では Android Developerはかなりハード.あなたが最高のものを雇いたい場合は、それは迅速かつ正確でなければなりません。そうでなければ、競合他社に候補者を奪われてしまいます。スクリーニングには通常最も時間がかかりますので、迅速かつ効果的な方法をご紹介します。
1.Androidとは?
Androidは、主にモバイル機器に特化した世界で最も普及しているオペレーティングシステムである。ソースコードはGoogleがAndroidオープンソースプロジェクト(AOSP)のもとで開発している。以降のバージョンは通常毎年リリースされ、GoogleのI/Oカンファレンスで発表されます。
特徴的なのは、電話以外にも、タブレットやテレビ(Android TV)、車のディスプレイ(Android Auto)、時計(Android Wear)など、多くの組み込み機器にインストールできることです。
Androidの主なメリットは以下の通りです。
- オープンソースコード
- はGoogleが開発したプラットフォームです。半年ごとにユーザーやプログラマーに何か新しいものを提供しています。Googleはエコシステム全体の開発に非常にこだわっており、多くのライブラリやツール(IntelliJをベースにしたIDE)を開発し、多くのカンファレンスやワークショップ、スクリーンキャストなどを開催しています。
- 特にマテリアルデザインの概念が導入されて以来、一貫性のあるデザインが求められています。Androidでは、アプリを切り替える際に、ユーザーが特定のアプリの使い方に迷うことがないように、アプリの一貫した外観を維持するための絶え間ない努力が行われています。
2.Android開発者のスキル一覧
IT採用担当者がAndroidについて知っておくべき重要なこととは?Androidが関係している限り、IT採用担当者が知っておくべきことがあります。
- Androidプラットフォームのアーキテクチャ: アプリ起動時にどのように多くのプロセスが起動されるか、どのように多くのスレッドが起動されるか、アプリケーションはどのような方法でシステムや他のアプリケーションと通信するのか(例えば、次のシナリオのように: 連絡先を選ぶ、写真を共有する)、メインスレッドとは何か、Androidではどのように機能するのか。
- プラットフォームの基本コンポーネント。アクティビティ、フラグメント、サービス、インテント、BroadcastReceiver、ContentProvider。
- アプリケーションの作成をサポートする標準的で最も人気のあるライブラリ。ライブラリの一例です。Androidサポートライブラリ、Google Play Services、Retrofit、OkHTTP、rxJava、EventBus、Dagger
- 保守・拡張・テストが容易な方法でアプリケーションを記述できるようにする設計パターン。最新のトレンド。MVP、MVVM、クリーンアーキテクチャ
- 効率的なビューの作成に関するルール、再利用可能なカスタムビューの作成機能
- 市場の細分化と、様々なシステムバージョンを持つ様々な生産者からの様々なデバイスの多数に対処する能力。異なるサイズ/密度の画面、様々な言語バージョン、システム自体の様々なバージョンのデバイス上でのアプリケーションのスムーズな操作を確保するために、プラットフォームが提供するメカニズム
- 軽い気持ちで】Androidの各バージョンには、数字と文字(CからNまで)があります。Googleは常にお菓子の名前を考え出そうとします特定の文字で始まる何か甘いもの、そしてこれがその後のAndroidのバージョンを呼び出す方法です。カップケーキ、ドーナツ、エクレア、フロイ、ジンジャーブレッド、ハニカム、アイスクリームサンド、ジェリービーン、KitKat、ロリポップ、マシュマロ、ヌガー)。)候補者は、プラットフォームの一生とその開発に興味があれば、これらの名前を列挙できるようにしておく必要があります🙂
3.審査段階でAndroid開発者のスキルを確認するには?
でないと審査が大変です。 アンドロイド開発者自身.技術自体が常に発展していて、最新の技術を必要とする場合は、さらに難しいです。そこで、Android開発者のスキルを確認する方法について、実用的な採用のヒントをいくつかご紹介します。
3.1.履歴書によるAndroidスキルの技術審査
候補者の履歴書からは多くの有益な情報を得ることができますが、何が最も重要な情報なのかをどのように選ぶかを知っておく必要があります。ITリクルーターとして、開発者の履歴書には以下のような重要な情報が含まれていることを確認しておきましょう。
- Google Playで公開されているアプリの数々。彼らがまだ利用可能な場合、それは彼らがどのように見えるか、彼らはどのように動作し、それがGoogle Playでどのように多くのダウンロードを持っているかをチェックする必要があります
- 開発者のチームはどのくらいの規模で、プロジェクトでどのような役割を果たしていましたか?彼らが取り組んでいたプロジェクトは、他のプラットフォーム向けにも作成されていましたか(iOS? Windows Phone?
履歴書だけでは分からない場合は、電話やビデオ面接の際にこれらの質問をする価値があります。
Android開発者を探している技術系採用担当者として、候補者が使用するすべての用語に精通している必要があります。そのため、ITリクルーターのためのAndroid用語集を開発しました。
Android技術 - IT採用担当者のためのAndroidの基本用語集
Androidの基本コンポーネント | アクティビティ、フラグメント、インテント、サービス、BroadcastReceiver、ContentProvider |
テストツール | エスプレッソ、モッキート、ロボティック |
基本的なUIコンポーネント(主にマテリアルデザインから | ツールバー、ビューページャー、リサイクラービュー、カードビュー、フローティングアクションボタン、ナビゲーションドロワー、ボトムバー、コーディネーターレイアウト |
ビルドツール | Gradle (EclipseとADTは遺産) |
最も人気のある図書館 | サポートライブラリ、Google Playサービス、Retrofit、EventBus、rxJava、rxAndroid、OkHttp、Dagger |
IT採用担当者の目線で役立つAndroid技術の詳細情報
Androidの世界では、ある意味で革命的であったり、何か新しいものを導入したりする重要なシステムリリースがあります。詳細については http://socialcompare.com/en/comparison/android-versions-comparison を参照するか、以下の簡単な要約を参照してください。
アンドロイド7.0
- マルチウィンドウモード(分割画面で2つのアプリケーションを同時に表示
アンドロイド6.0
- 実行時のパーミッション。ユーザーの機密データへのアクセスを要求するための新しいアプローチ(iOSの例に基づく
アンドロイド5.0
- マテリアルデザイン。アプリケーションにおけるUI革命
アンドロイド4.0
- 電話/タブレット用のバリアントを持っていないが、画面の任意のタイプのデバイス上で動作するシステムの最初のバージョン
Androidでの認定
- Googleは最近、人気が出なかった認証スキームを実施したため、採用プロセスではあまり重要視されていません。詳細はこちらをご覧ください。 https://developers.google.com/training/certification/
これまでの経験:IT採用担当者に大切なこと
Android開発者の履歴書を見て、数年の経験があることがわかったら、もう少し深く掘り下げて、履歴書の中に以下のようなものがないか探してみましょう。
- これについては、すでに「履歴書の選考で考慮すべきこと」で書きました。経験が最も重要なのは、候補者が経験したチームワークや出版物の数、制作上の問題点などを、「私と私のチームはこんな問題を解決しました」を超えて、興味深く流暢に語れるかどうかです。その人がどのような問題を解決したのか、何に貢献したのかが重要です。
履歴書の他にAndroidのプログラミングスキルを評価するのに役立つものは?
- Javaプログラミングに関することなら何でも。ワークショップ、修了証、パターンの知識。JavaはAndroidの基本的なプログラミング言語であり、他の言語が出てきてもJVM(具体的にはAndroid Runtime, ART)をベースにしているので、Javaプログラミングに関するあらゆる制限やルールを知っていると非常に便利です。
3.2.電話/ビデオ面接でのAndroidスキルの技術審査
履歴書は、開発者のスキルに関する基本的な情報を提供してくれますが、開発者の人となりについては何も教えてくれませんし、コーディングスキルに関する確かな知識を提供するには十分ではありません。
以下では、候補者のことがよくわかる質問例をご紹介します。
1.ユーザー向けのアプリケーションを公開した後に遭遇した最も興味深い問題について教えてください。どのようにしてこの問題を解決しましたか?
- この質問は、まともな開発者の経験に不足があるかどうかを明らかにするものです。誰かが参加しただけで、質問に答えるのに迷ってしまうかもしれません。
2.2. マテリアルデザインの既製のコンポーネントを列挙し、その実装がサポートライブラリファミリーにあるものを見つけることができます。
- この問題の解答は、各アプリケーションが使用するライブラリの基本的なファミリーについての知識を示しています。受験者は少なくとも以下のものを列挙することができなければなりません。CardView, RecyclerView, Floating Action Button, Toolbar, Navigation Drawer。もしプログラマーがこれらのコンポーネントを知っていれば、古典的なアプリケーションを作成するときに車輪を再発明するのではなく、フリーのライブラリから信頼性の高い広く使われているコンポーネントを使用することを意味します。
3.Android Studioでお気に入りのショートカットは?
- この質問の答えは、受験者が日常的に使用しているツールにどの程度興味を持っているか、どの程度使いこなせているかを示しています。受験者は、毎日使っている近道を少なくとも4~5個は簡単に列挙しましょう。例を挙げれば挙げるほど、より良い印象を与えることができます。ショートカットを知らず、マウスを何でもかんでも使っているプログラマーは悪い兆候です。
4.Androidアプリをフリーズさせるにはどうすればいいの?
- この質問の答えは、メインスレッドで多くの操作を行うことです。この質問への回答は、プラットフォームアーキテクチャに関する受験者の知識を表しています。この質問に答えられることは、絶対に必要なことです。この問題に答えられない受験者は、ユーザの観点から見て高速で安定したアプリケーションを書くことはできません。
5.断片化の対処法は?
- Android を搭載した携帯電話の市場は、すべてのモバイルプラットフォームの中で最も多様性に富んでいます。この質問に答えることができるということは、受験者がプラットフォームの基本をよく知っていることを意味し、彼らはそれが何を提供し、システムの特定のバージョン、様々な画面を持つデバイスなどでアプリケーションの互換性を確保する方法を知っていることを知っています。
6.また、開発者のプロジェクトのソース、つまりPSDやデザイナーが提供しているものについても聞いておくと良いでしょう。グラフィックのカットやデザイナーとの協力関係はどうなっているのか?
おすすめの読み物。 完全なAndroid開発者の給与データ
4.Devskillerすぐに使えるオンラインAndroid開発者スキルテスト
Devskillerでは、企業が独自のプログラミング・テストを作成できるインフラを提供しており、自社のコード・ベース、フレームワークやライブラリを使用したITプロジェクト全体を使用して、オンラインでプログラマーをテストすることができます。また、すぐに使える.NETコーディング・テストもいくつか用意していますので、採用キャンペーンにもご利用いただけます。
- テストされたスキル
- 持続時間
- 45 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 アンドロイド
プログラミングタスク - レベル: ハード
Android | Vibrations API - 機能スイッチがトグルされたことを示すために、埋め込まれた触覚デバイスを介してファンシーなメロディを再生するメソッドを実装します。
- テストされたスキル
- 持続時間
- 39 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 アンドロイド
プログラミングタスク - レベル。中程度
Android | Kotlin | ConstraintLayout Animation - ConstraintLayout API を使ってレイアウト要素のアニメーションを実装する。
- テストされたスキル
- 持続時間
- 75 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 アンドロイド
プログラミングタスク - レベル: ハード
Android | Kotlin | Image Fetch (KitKat + TLSv1.2) - オペレーティングシステムによって無効にされている場合でも、OkHttpクライアントがTLS 1.2をサポートするようにMainActivityの実装を調整します。
- テストされたスキル
- 持続時間
- 75 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 アンドロイド
プログラミングタスク - レベル: ハード
Android|OpenGL ESデモ - このタスクの目的は、GLSL ES 100の受験者の知識を確認することです。
- テストされたスキル
- 持続時間
- 60 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 ジャワ, アンドロイド
プログラミングタスク - レベル: ハード
Android | Bitmap Manipulations - 共有を開始する前に選択された画像に対して実行されるべき 3 つの操作を実装しています。
- テストされたスキル
- 持続時間
- 100 分以内
- 評価
- 自動
- テストの概要
-
プログラミングタスク - レベル: ハード
iOS | Swift | Conference App Senior - サーバーとのやりとりに使用するネットワークサービスを実装します。
プログラミングタスク - レベル: ハード
Android | JNI経由でネイティブからJavaへの非同期呼び出し - 特定の要件を満たすネイティブJava通信コンボの不足しているJNI部分を提供します。
- テストされたスキル
- 持続時間
- 70 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 ジャワ, アンドロイド, アイオーエス
プログラミングタスク - レベル。簡単
Android|スタイルの基本 - 多くのTextViewウィジェットで再利用できるスタイルを実装しています。
プログラミングタスク - レベル。簡単
iOS | Swift | 水力発電所アプリ - 水力発電所のデータを解析するためのアプリに欠落している機能を実装します。
- テストされたスキル
- 持続時間
- 72 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 アンドロイド, アイオーエス
プログラミングタスク - レベル。中程度
Android|リマインダーアプリ - BroadcastReceivers、サービス、AlarmManagerとNotifications APIを利用したインテントスケジューリングを利用して、リマインダーアプリに不足している機能を実装します。
プログラミングタスク - レベル。中程度
iOS | Swift | Students details applicaction - 学生の詳細をファイルに保持し、特定のデータを取得するためにユーザーがファイルを照会できるようにするアプリを実装します。
- テストされたスキル
- 持続時間
- 45 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 コトリン, アンドロイド
プログラミングタスク - レベル: ハード
Android | Kotlin | JNI経由でネイティブからJavaへの非同期呼び出し - 特定の要件を満たすネイティブJava通信コンボの不足しているJNI部分を提供します。
- テストされたスキル
- 持続時間
- 33 分以内
- 評価
- 自動
- テストの概要
-
選択問題
知識評価 ジャワ, アンドロイド
プログラミングタスク - レベル。簡単
Android|マニュアル背景色アニメーション - アクティビティの背景の滑らかな色アニメーションを実装します。
シェアポスト