Android開発者向け「メンター」のスキルチェックを受けてみた。
今夜のエントリはAndroidプログラミングのネタなので興味の無い方はスルーしちゃってください。
あっ、でも、「メンター」ってどんなスキルレベルを求められるのか気になる人は、雰囲気だけでも読んでもらえると嬉しいです。
いやー、完全にやられました。
Androidアプリ開発初心者を対象とした「メンター」に登録しようと思い立ち、某社から依頼されたスキルチェックを受けました。
初心者を対象としているのだから難しい問題は出ないだろうと思ったら大間違い!
問題はこんな感じで全部で11問です。
- Javaにおいて intとIntegerの違いを説明してください。
- メソッドのオーバーライドとオーバーロードの違いを説明してください。
- クラスの継承と、インターフェイスの実装の違いを説明してください。
- android.app.Activityが継承している全てのsuperクラスを挙げてください。
- アプリが最前面で起動している状態から、Homeボタンを押し、再度同じアプリを起動した場合のActivityのライフサイクル(メソッド)を順番通りにお答えください。
- AndroidでAPI通信を行うのにAsyncTaskやThreadなどの非同期処理を使う理由を答えてください。
- マテリアルデザインでAndroidアプリを作成したい場合に必要となるライブラリを答えてください。
- git pullコマンドとgit fetchコマンドの違いを説明してください。
- データベースにおいて内部結合(inner join)と外部結合(outer join)の違いについて説明してください。
- 暗黙的Intentと明示的Intentの違いについて記述してください。また、暗黙的Intentで呼び出されるアプリの条件について記述してください。
- Android Marshmalow(6.0)以降、一部のpermissionを必要とする機能はユーザーの許可が必要になりましたが、ユーザーの許可を必要とする機能を実装する上で注意しなければいけない点を記述してください。
1,2,3は、完全に初心者レベルの問題。
4は、、こんなの記憶したりしないな。ささっとググる。
5,6は実際にアプリを作ったことがあれば問題なく答えられる。
7,8も使ったことがあったので問題なし。
9は、AndroidでDBを使ったことはなかったけど、Androidに限らず一般的な知識を問う問題だから助かった。
10は、、知らなかった。。暗黙的Intentって使ったことなかったな。今回勉強になりました。
11もAndroidのアップデートを把握していれば回答できる問題。
ざっと目を通して、4や7の名称や10を調査するのに時間がかかりそうな雰囲気を掴んでおいてスタートです。
30分しかないから分かる問題から取り掛かりましたが、11問で30分は短い!
単純計算で1問3分で書いても間に合わない!
全部記述式の問題だし、易しい回答をするように指示もあって、なかなか進みません。
最後は、かなりの駆け足になってしまったので、おかしな日本語もあって少し笑えます。
ぼくはプロと呼べるようなプログラマーではありませんがこんな感じで解答しています。
②は日本語がおかしい。
⑤は答えのメソッドが足りてない。
終わってから見直すと、ボロボロだぁ。
ぶっちゃけ、こんなレベルの質問が出てくるようなヒトは初心者とは呼ばないよなぁ。
どんな相談が来るんだろう(受かる気でいる)。ドキドキ。