Androidインタビューの質問と候補者のインタビュー方法

あなたの会社があなたのAndroidアプリのために本当に素晴らしい開発者を雇おうとしている場合、またはあなたがAndroid開発者の役割に応募している場合、どのようにあなたが正しい候補者を得ることができるか、仕事に備えることができますか?それはすべて、Androidのインタビューの質問から始まります。単独でそれを行うことは常にトリッキーなビジネスです、誰かがインタビューで素晴らしく見えることができます、しかしものが現実になるとき、彼らは時々失望することができます。この記事では、良いものとそうでないものを区別する方法を説明し、あなたの会社がこの重要な役割を満たすために可能な限り最高の候補者になるようにします。

インタビューテクニックは両方の方法で機能します。候補者が良い面接スキルを身につけることが重要であるのと同様に、面接官が正しい質問をし、間違った人を雇わないようにスキルを身に付けることも同様に重要です。自信は、あなたのロッカーに正しい弾薬を持っていることに由来します。面接対象者が適切であることを確認するために、職位、仕事の要件、および必要な質問を理解することがすべてです。

インタビュー中

面接官に安心してもらうことが重要です。面接プロセスを本当に楽しんでいる人はいないため、非常にストレスがたまります。候補者を安心させるためにできることを多くすればするほど、彼らの性格について本物の感触を得る可能性が高くなります。

明らかに、あなたの会社のどの職種の候補者でもそうですが、彼らの性格や過去の労働慣行を決定するための基本的な質問に対処する必要があります。ソーシャルメディアもチェックすることをお勧めします。最近では、誰もがソーシャルメディアに参加しているため、投稿記録を簡単に確認することをお勧めします。以前の雇用主に対する誠実さの欠如を示した場合、彼らが突然行動パターンを変えることを示唆する理由はありません。企業に最適な開発者を選択する方法の詳細については、こちらのブログ投稿をご覧ください。

そのため、通常の一般的な質問をして候補者に安心感を与えたら、Androidの開発についてどれだけ知っているかを調べてみましょう。ここで、質問が仕事に具体的になり、さらに難しい場合があります。

重要な質問

1. Androidとは?

Androidは、オープンソースのLinuxベースのオペレーティングシステムです。 Andy Rubinによって設立され、モバイル、タブレット、テレビなどで使用されています。

2. Androidアプリケーションアーキテクチャに名前を付けてください。

  • アクティビティはUIを指示し、スマートフォンの画面とのユーザーインタラクションを処理します。アクティビティは画面上でアクションを実行します。
  • ブロードキャストレシーバーは、システム内またはシステムからの他のアプリケーションからのブロードキャストメッセージに応答します。これはBroadcastReceiverクラスのサブクラスとして実装され、各メッセージはIntentobjectとして認識されます。
  • サービス。これらは、バックグラウンド機能を実行するために使用されます。
  • 意図。これにより、アクティビティとデータ受け渡しメカニズム間の相互接続が可能になります。
  • 文字列とグラフィックスを参照するリソース外部化。
  • ダイアログボックス、アイコン、ライト、通知、サウンド、トーストの通知
  • アプリケーション間でデータを共有するためのコンテンツプロバイダー

3. Androidの追加コンポーネントは何ですか?

  • フラグメントは、アクティビティのユーザーインターフェイスの一部として機能します。
  • ビューは、ボタン、リストフォームなど、画面上に描画されるUI要素です。
  • 画面形式とビューの外観を制御するレイアウトビュー階層。
  • インテントは、コンポーネントを結び付けるメッセージです。
  • リソースは外部要素(文字列、定数、描画可能な画像)です。
  • マニフェストは、アプリの構成ファイルです。

4. Androidで利用できる通知とその使用方法は何ですか?

Snackbars&Toast Notification-ウィンドウの表面にポップアップメッセージとして表示されます。

スナックバーには、実行される操作に直接関係する1行のテキストが含まれます。通常、これらにはテキストアクションが含まれ、アイコンは含まれません。一度に表示できるスナックバーは1つだけで、単独のアクションを含めることができます。どちらのアクションも「破棄」または「キャンセル」にはできません。

トーストはAndroidでのみ使用でき、システムメッセージに使用されます。画面下部にも表示されますが、画面外にスワイプすることはできません。

ステータスバー通知は、ステータスバーに通知を表示します。

スナックバーとトーストの詳細については、こちらをご覧ください。

Dialogue Notification-積極的に関連する通知。

5. Androidでどのように翻訳しますか?

AndroidはGoogleトランスレーターを使用して、データをある言語から別の言語に翻訳し、開発中に文字列として配置します。

6. Androidでアプリケーションを実行するには、どのタイプのフラグが使用されますか?

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP。

7. Androidのバージョンはコード名の下にあります。コード名はできるだけ多く付けてください。

エストロ、ブレンダー、カップケーキ、ドーナツ、エクレア、フローズンヨーグルト、ジンジャーブレッド、ハニカム、アイスクリームサンドイッチ、ジェリービーン、キットカット、ロリポップ、マシュマロ

8. Androidの主な利点は何ですか?

Androidはオープンソースのオペレーティングシステムです。つまり、エンドユーザーは無料です。ライセンス料、開発費、配布料はありません。カメラ、Bluetooth、WiFi、音声、エッジなど、さまざまなテクノロジーをサポートしています。さらに、モバイルデバイスで使用するために、DVM(Dalvik Virtual Machine)と呼ばれる高度に最適化された仮想マシンも利用します。

9. Androidが使用するデータベースに名前を付けて、それについて簡単に説明してください。

データベースの名前は、オープンソースのリレーショナルデータベースであるSQLiteです。 Androidデバイスで通常のデータベース機能を実行するために使用できます。データの保存、操作、取得が簡単であるだけでなく、デフォルトとしてAndroidプラットフォームに埋め込まれています。設定は必要ありません。管理はすでに実施されています。

10. Androidで利用できるストレージの種類とその使用法は何ですか?

  • 共有設定は、プライベートプリミティブデータをキーと値のペアで保存します。 SharedPreferencesクラスは、ユーザーがプリミティブデータ型の永続的なキーと値のペアを保存および取得できるようにする一般的なフレームワークを提供するのに役立ちます。 SharedPreferencesを使用して、ブール値、フロート、int、long、文字列などのプリミティブデータを保存できます。このデータは、アプリケーションが強制終了された場合でも、ユーザーセッション間で保持されます。アプリケーションのSharedPreferencesオブジェクトを取得する方法の詳細については、ここをクリックしてください。
  • 内部ストレージは、デバイスのメモリにプライベートデータを保存します。デバイスの内部ストレージにファイルを直接保存できます。内部ストレージに保存されたファイルはデフォルトでアプリケーション専用であり、他のアプリケーションもそれらにアクセスできません。ユーザーがアプリケーションをアンインストールすると、ファイルは削除されます。
  • 外部ストレージは、共有外部ストレージに公開日を保存します。すべてのAndroid互換デバイスは、ファイルを保存できる共有「外部ストレージ」をサポートできます。これは、リムーバブルストレージメディア(SDカード)または内部(リムーバブルでない)ストレージです。
  • SQLiteデータベースは、構造化データをプライベートデータベースに保存します。 Androidは、SQLiteデータベースを完全にサポートしています。作成したデータベースは、アプリケーション内の任意のクラスから名前でアクセスできます。アプリケーションの外部からはアクセスできないことに注意してください。
  • ネットワーク接続では、独自のネットワークサーバーを使用してデータをウェブに保存します。ネットワーク操作を行うには、次のパッケージのクラスを使用する必要があります。

java.net。*

android.net。*

11. Androidのアプリケーションウィジェットとは何ですか?

アプリケーションウィジェットは、他のアプリケーション(ホーム画面など)に埋め込み、定期的な更新を受信できるミニチュアアプリケーションビューです。これらのビューは、多くの場合、ユーザーインターフェイスではウィジェットと呼ばれ、App Widgetプロバイダーを使用して公開できます。

ビルディングブロックとライフサイクル

12. Androidのコアビルディングブロックとは

Androidのコアビルディングブロックは次のとおりです。

  • アクティビティ—単一の画面、つまりAWTのフレームを表すクラス
  • ビュー—ラベル、ボタン、テキストフィールドなどのUI要素。基本的に見られるものはすべてビューです
  • Intent —コンポーネントの呼び出しに使用されるもの。たとえば、サービスを開始したり、Webページを表示したり、メッセージをブロードキャストしたりします。
  • サービス—バックグラウンドプロセス。これらには、アプリケーションからアクセスされるローカルと、他のデバイスからアクセスできるリモートの2つのタイプがあります。
  • コンテンツプロバイダー—これらは、異なるアプリケーション間でデータを共有するために使用されます。
  • フラグメント—同時に複数で表示できるアクティビティの個別の部分。
  • AndroidManifest.xml —これは、アクティビティ、許可、コンテンツプロバイダーなどに関する情報を保持します。
  • Android Virtual Device(AVD)—タブレットや他のデバイスを必要とせずにアプリケーションをテストするために使用されます。

13. Androidアクティビティの7つのライフサイクルメソッドに名前を付けて、それぞれについて少し説明してください。

7つのライフサイクルメソッドは次のとおりです。

1)onCreate()—アクティビティが作成されたことを意味します

2)onStart()—ユーザーに見えるようになったことを意味します。

3)onResume()—アクティビティがユーザーとの対話を開始したことを意味します

4)onPause()—アクティビティがユーザーに表示されないことを意味します

5)onStop()—エンドユーザーには見えなくなることを意味します

6)onRestart()—アクティビティが開始される前に停止したことを意味します

7)onDestroy()—アクティビティが破棄されることを意味します

Androidの頭字語

14. AndroidのADBは何を表していますか?

ADBはエミュレータとIDEの間のブリッジとして機能します。また、エミュレーターでアプリケーションを実行するリモートシェルコマンドを実行します。

15. AndroidのANRとは何ですか?

ANRは、アプリケーションが応答していないことを意味します。これは、アプリケーションが応答していないときに表示されるダイアログボックスです。

16. ADTは何を表していますか?

ADTはAndroid開発ツールであり、アプリケーションの開発とアプリケーションのテストに使用されます。

17. DDMSの略称とその機能

これは、Delvik Debug Monitor Serverを指します。論文は、Android Studioに含まれているデバッグツールです。ポート転送サービス、デバイスのスレッドおよびヒープ情報、デバイスの画面キャプチャ、logcat、プロセス、および無線状態情報に使用できます。さらに、他のサービスの中でも特に、着信コールとSMSスプーフィング、および位置データスプーフィングを提供します。

詳細については、こちらをお読みください。

意図

18.意図とは何ですか。また、その使用方法の3つの例を示しますか?

インテントの3つの一般的な用途は次のとおりです。

  • アクティビティの開始通常は、startActivity()メソッドにインテントを渡すことにより、アクティビティの新しいインスタンスを開始します。
  • ブロードキャストの配信これは、sendBroadcast()、sendStickyBroadcast()、およびsendOrderedBroadcast()にインテントを渡すことで実行できます。
  • サービスを開始すると、これを使用して、ファイルのダウンロードなど、1回限りの操作を実行できます。これは、startService()にインテントを渡すことで実現されます

詳細については、Androidデベロッパーガイドのこのセクションを参照してください。

19.インテントを使用して、ContentProviderにデータを提供できますか?

いいえ、インテントを使用してContentProviderにデータを提供することはできません。 ContentProviderでデータを使用するには、代わりにContentResolverを使用する必要があります。これはアプリケーションのコンテキスト内にあり、クライアントとしてプロバイダーと通信するために使用されます。プロバイダーオブジェクトは、データ要求を受信し、必要なアクションを実行してから結果を返すことで機能します。

20.インテントを使用して、アクティビティを開始できます。

Intent intent = new Intent(this、MyTestActivity.class);
       startActivity(intent);

定義とソリューション

21. Androidでアプリケーションリソースファイルを定義します。

JSON、XMLビットマップなどはアプリケーションリソースです。これらのファイルを挿入してプロセスを構築し、コードからロードできます。

22. Androidのアダプターとは何ですか?

アダプタはブリッジとして機能します。データ項目を新しい項目に変換して、UIコンポーネントに表示できるようにします。

アダプタの詳細については、こちらをご覧ください。

23. Androidのレイアウトはどこにありますか?

Layoutフォルダーでは、レイアウトはXMLファイルとして配置されます。

24. Androidのシングルトンクラスとは何ですか?

オブジェクトのみを作成できるクラス。そのオブジェクトは他のクラスと共有できます。

25. Androidのフラグメントとは何ですか?

フラグメントはアクティビティの一部であり、常にアクティビティに含まれています。フラグメントを使用すると、多くのアクティビティでフラグメントを再利用でき、画面上でより柔軟に検索できます。

26. Androidのスリープモードとは何ですか?

スリープモードとは、CPUがスリープ状態になり、無線インターフェイスレイヤーとアラーム以外のAndroidデバイスからのコマンドを受け付けないことを意味します。

27. Androidではどのカーネルが使用されますか?

AndroidはカスタマイズされたLinux 3.6カーネルです。

28. Androidではどの例外が利用可能ですか?

InflateException、Surface.OutOfResourceException、SurfaceHolder.BadSurfaceTypeException、およびWindowManager.BadTokenException

29. Androidのダイアログボックスの順序は何ですか?

順序は、ポジティブ、ニュートラル、ネガティブです。

30. Androidのドロウアブルフォルダーとは何ですか?

背景、バナー、アイコン、スプラッシュスクリーンなどとして使用できるコンパイルされた視覚的リソース。

31. ContentProviderの意味と通常の使用とは何ですか?

ContentProviderは、構造化されたデータセットへのアクセスを管理するために使用されます。データを識別し、データセキュリティを定義するメカニズムを提供します。これは、あるプロセス内のデータと別のプロセスで実行されているコードを接続する標準インターフェイスです。詳細については、Androidデベロッパーガイドのこのセクションを参照してください。

32.サブアクティビティAndroidにデータを渡す方法は?

Bundleを使用して、データをサブアクティビティに渡すことができます。

bunbun = new Bundle();

bun.putString(“ EMAIL”、“ contact@tutorials.com”);

33. Androidは前景を破棄してアクティビティのレイアウトのビュー値を復元するのではなく、画面の向きを変更していますが、ビューの値は向きを変えても復元されません。これの考えられる理由は何ですか?

最も可能性の高い理由は、開発者が有効なIDを持っていることを確認していないことです。 Androidシステムは、各ビューに一意のIDが与えられている場合にのみ、アクティビティのビューの状態を復元します。これは、android:id属性によって提供されます

詳細については、Androidデベロッパーガイドのこのセクションを参照してください。

Androidライブラリ

34. Androidライブラリを説明します。

Androidライブラリは、共有Androidソースコードおよびその他のリソースを保持する開発プロジェクトです。ソースコード、リソースファイル、Androidマニフェストを含むアプリを構築するために必要なすべてを保持します。 Androidアプリモジュールの依存関係として使用できるAndroidアーカイブ(AAR)ファイルにすべてをコンパイルします。

35. Androidライブラリモジュールはいつ使用されますか?

Androidライブラリモジュールは、アクティビティ、サービス、UIレイアウトなどの同じコンポーネントを必要とする、または使用する複数のアプリを作成するときに使用できます。また、無料版と有料版など、両方に同じコアコンポーネントを必要とする複数のAPKバリエーションに存在するアプリを作成するときにも使用されます。

このガイドは、ユーザーがAndroidライブラリを作成する方法を学ぶのに役立ちます。

最新のAndroid開発を最新の状態に保つためには、システムの開発と時間の経過に伴う変化に合わせてスキルを開発し続けることが重要です。これにより、競合他社をリードし、クライアントとチームにとってより価値のある資産になります。

Androidスレッド

36.スレッドとは何ですか?

「スレッドとは、プログラム内の実行スレッドです。」各スレッドには優先順位があり、優先順位が低いスレッドよりも優先順位が高いスレッドが実行されます。コードがスレッドで実行され、新しいThreadオブジェクトを作成すると、新しいスレッドの優先度は作成スレッドの優先度に初期設定され、作成スレッドがデーモンである場合にのみデーモンスレッドになります。

37.新しい実行スレッドをどのように作成しますか?

新しい実行スレッドを作成する方法は2つあります。 1つは、クラスをThreadのサブクラスとして宣言することです。サブクラスは、クラスThreadのrunメソッドをオーバーライドします。サブクラスを割り当てて開始できます。指定された値より大きい素数を計算するスレッドの例は次のとおりです。

PrimeThreadクラスはThread {を拡張します
        長いminPrime;
        PrimeThread(long minPrime){
            this.minPrime = minPrime;
        }
        public void run(){
            // minPrimeよりも大きい素数を計算します
             。 。 。
        }
    }

以下のコードはスレッドを作成し、実行を開始します:

PrimeThread p = new PrimeThread(143);
    p.start();

スレッドを作成する別の方法は、Runnableインターフェースを実装するクラスを宣言することです。このクラスはrunメソッドを実装します。クラスは割り当てられ、スレッドの作成時に引数として渡され、開始されます。

PrimeRunクラスはRunnableを実装します{
        長いminPrime;
        PrimeRun(long minPrime){
            this.minPrime = minPrime;
        }
        public void run(){
            // minPrimeよりも大きい素数を計算します
             。 。 。
        }
    }

以下のコードは、スレッドを作成して実行を開始します。

PrimeRun p = new PrimeRun(143);
    new Thread(p).start();

38.複数のスレッドに同じ名前を付けることはできますか?

はい。すべてのスレッドには、識別するための名前があります。スレッドの作成時に名前が指定されていない場合、新しい名前が作成されます。

Androidスレッドの詳細については、こちらをご覧ください。

結論

これらの質問は、Android開発の複雑さのすべてを網羅しているわけではなく、単にガイドとして提供されていることに注意してください。これらの質問を使用することで、候補者の能力やインタビューで何を期待するかについて、本当の感触をつかむことができます。いずれにせよ、Pangaraのような質の高い代理店を使用して、雇用の有無にかかわらずプロセスを支援することが依然として望ましいです。 Pangaraには、すでに候補者にインタビューし、監視しているスペシャリストチームと、最高の開発者を審査するための独自の資格プロセスがあります。 PangaraがあらゆるビジネスにAndroid開発者を提供する場合、その人がその仕事に理想的に適していることを安心できます。

あなたが自分のポジションにふさわしい人を雇うことを望んでいます。結局のところ、あなたのビジネスはそれに依存しているかもしれません。

*この投稿は、パンガラのモバイルタレントであるBinh Nguyenによって編集およびレビューされました。

次のステップに進んで、パンガラの専属フリーランサーのネットワークに参加する準備ができたら、始めましょう!パンガラのタレントになりましょう。

Facebookページ、LinkedIn、Twitterの最新ニュースの更新とイベントをお楽しみに。

当初、2017年11月13日にpangara.comで公開されました。