画面のiOS開発者のスキル

公開されました。 最終更新日
iOS:ソフトウェアエンジニアの面接の質問

モバイルアプリ開発者は、特にiOS用のアプリを構築しようとしている場合は、手に入れるのが難しいです。それは、外出して、あなたのモバイルアプリを構築するために最高のiOS開発者を見つけるためにあなた次第です。しかし、それは困難な作業になることがあります。モバイル開発者が必要とするiOS開発者のスキルは、あなたが知っている一般的なJava開発者と同じではありません。

これは、ほとんどの技術系採用担当者にとって問題となります。彼らの多くは、募集しているiOS開発者が適切なiOS開発者のスキルを持っているかどうかを見分けることができるだけの経験を持っていないのです。つまり、面接しなければならない候補者を大量に抱えてしまうことは避けたいということです。そうなると、技術的な面接に何時間も費やすことになり、今のITチームにはその時間がありません。

iOS開発者のスキルを審査するためには何が必要ですか?

幸いなことに、私たちはiOS開発者のスキルを効果的にスクリーニングするために必要なすべての情報を用意しました。このガイドを読み終える頃には、iOS開発者の面接や審査において、実際に行動し、話すことができるようになっているはずです。正しい質問をしたり、専門用語を理解したり、優れたiOS開発者の履歴書を解読したりできるようになります。最も重要なことは、iOS開発者の候補者を選別するためにどのような種類のテストを行えばよいかがわかり、優秀な人材だけを面接に招くことができるということです。しかし、その前に基本的な知識を身につけることが大切です。

1.iOSとは何ですか?

iOSは、アップル社がユビキタス端末であるiPhoneのために開発したOSです。Appleは携帯電話市場だけでなく、iPad、Apple Watch、Apple TVなどのさまざまなデバイスにもこのOSを採用しています。では、iOS開発者を雇った場合、彼らはiOSでコーディングするのでしょうか?そうではありません。

の話をすると iOSデベロッパーしかし、これは実際には、iOS専用の言語の一方または両方を使用している開発者のことを指しています。2008年からAppleは、iOSで使用する独自のプログラミング言語「Objective-C」を公開していました。これに4年前に加わったのがSwiftです。iOSで使える言語はこの2つだけですが、macOSでもこれらの言語を使ってソフトウェアを開発することができます。しかし、どちらのOSにも使えるといっても、いくつかの重要な点で少し違いがあります。

  • Objective-Cは、リフレクティブ、クラスベース、オブジェクト指向です。
  • Swiftは、マルチパラダイム、プロトコル指向、オブジェクト指向、関数型、命令型、ブロック構造の

Swiftは、その一般的な言語のアイデアを、JavaScript、Ruby、Pythonとともに、Objective-Cから大きく借りています。また、型安全であることが主な理由で、Objective-Cよりもはるかに便利です。これにより、iOSプログラミングの学習を始めることが容易になり、アプリケーションの安全性と安定性を向上させることができるようになりました。

Objective-Cを使用しているレガシーシステムは数多くありますが、iOSのプログラミング言語としてはSwiftがほとんどを占めていることがわかります。安全でバグのないコードを書くための学習曲線は、Swiftの方がObjective-Cの場合よりも少し急です。とはいえ、開発者がSwiftをマスターすれば、安全でバグのないコードを書くことは、Objective-Cのときよりも実際に簡単になります。Swiftは、Objective-Cと同じランタイム環境とSDKを使用しています。つまり、iOSの技術スタック全体と完全な後方互換性があるだけでなく、新しいSwift専用のツールとも互換性があるのです。

2.iOSについて採用担当者が知っておくべきこと

iOSの環境は定期的に変化していることがわかります。通常、年に一度はメジャーアップデートが行われ、使用されている言語や開発の方向性などが発表されます。それらは通常、WWDC(World Wide Developers Conference)で発表されます。これはiOS開発者にとって世界最大のイベントであり、基調講演ではすべての新しいiOS技術が発表されます。iOS開発者を募集している採用担当者は、ここで発表される内容に注目して、最新のiOS技術を把握しておく必要があるでしょう。

すべてのiOS開発者が知っておかなければならない2つの最も重要なライブラリは、UIKitとFoundationです。iOSデベロッパーは、これらがないとアプリを作ることができないので、これらのツールを使えることが必須となります。Appleがサポートするツールに加えて、iOSデベロッパがソフトウェアを構築するために利用できる膨大な数のオープンソースのライブラリやフレームワークがあります。

3.審査段階でiOS開発者のスキルを確認する方法

3.1.履歴書をもとにしたiOS開発者のスキルの技術審査

iOS開発者の履歴書で最も価値があるのは、その候補者がどのようなプロジェクトに携わっているかということでしょう。これには、Bluetooth、ローカルデータベース、位置情報サービスなどの必須機能が含まれます。もちろん、アプリを開発したことがあれば、大きなプラスになります。アプリはiOSアプリストアで確認することができます。

候補者の履歴書で見るべき有用な経験は、アプリの構築だけではありません。他の言語、特にC++を使った経験があるといいでしょう。また、Apple WatchやApple TVなどの特定のプラットフォームを扱った経験もあると良いでしょう。プラットフォームの性質上、ユニットテストやApp Storeへの申請プロセスに関する知識があることが望まれます。最後に、継続的な統合設定の経験があるかどうかも重要です。

履歴書を審査するのはとても簡単ですが、採用担当者がiOS開発者の履歴書に記載されている内容を理解するために必要な語彙は、時に混乱を招くことがあります。そこで、最も重要なiOS開発者のスキルを理解するための用語集をご用意しました。

3.2 技術系採用担当者のためのiOS開発者スキル用語集

言語 Swift、Objective-C
一般的な GCD, Operational Queue, Push Notifications, Awareness in Code Signing,
データベース Sqlite、CoreData、Realm
ユーアイ UIKit、Core Animation、Autolayout、Size Classes、SnapKit
具体的なフレームワーク(すべてObjective-CとSwiftの両方で動作します。 Core Location, MapKit, AVFoundation, StoreKit, Extensions, AddressBook, EventKit, CAllKit, SiriKit, Core Bluetooth

3.3 採用担当者が知っておくと便利なiOSの詳細情報

iOSの新バージョンが出るたびに、新しい機能が追加されてきました。そして、機能が追加されると、それに対応するための新しいフレームワークが開発されます(SiriKit、CallKit、WatchKit、MapKitなど)。

それ以外のOSのバージョンは基本的に同じで、新しい拡張機能が追加されているだけです。

互換的に使用されている最も一般的なiOSテクノロジーの名称

CoreDataとSQLiteは互換性があります。

それぞれのiOS技術のバージョンがどれだけ近いか。

世の中に出回っているSwiftのバージョンはどれも似たり寄ったりです。もちろん、この言語は1.0から4.2まで複数の反復を経ています。そして、それぞれが独自の変更を導入しています。しかし、3の経験がある人であれば、最新バージョンの使用に問題はないはずです。

4.iOS開発者のスキル:インタビューの質問

面接は、候補者がどのような問題に直面してきたのか、問題解決のためのアプローチを知るための重要な時間です。技術審査に代わるものではありませんが、判断材料にはなるでしょう。

4.1 iOS開発者のためのプラットフォーム体験の質問

Q1: 候補者の履歴書からいくつかの技術をピックアップし、それが何であり、どのように使用されているかを説明してもらいます。

Q1を聞くべき理由 彼らが挙げた技術に対する認識を確認するためです。

Q2: 候補者には、これまでに参加した最も興味深いプロジェクトと、そのプロジェクトでの自分の役割について説明してもらいます。

Q2を聞くべき理由 開発者が経験したプロジェクトがどれほど複雑で多様であったか、またその役割は何であったか(開発者、リード開発者、アーキテクト)を確認する。

4.2 iOS開発者のスキル:知識と意見

Q3: 候補者にSwiftとObjective-Cを比較してもらいます。

Q3を聞くべき理由 開発者がどれだけ経験を積んでいるのか、Objective-Cを扱ったことがあるのかないのかを理解することができます。ほとんどの場合、Swiftを知っているだけでは十分ではありません。ジュニアレベルであっても、iOSの候補者は、Objective-CとSwiftの両方を理解し、使用できる必要があります。

Q4: 今、広く使われているiOS技術と、今後普及する可能性のあるiOS技術を教えてください。

Q4を聞くべき理由。 iOS開発者のスキルをもとに、IT市場や業界の動向を分析・予測する能力があるかどうかを教えてくれます。

Q5: メモリリークを回避するにはどうすればいいですか?

Q5を聞くべき理由 候補者が強い/弱い参照を使用する際に、潜在的な問題を意識しているかどうかがわかります。ブロックやクロージャは、オブジェクトへの強いリンクを保つことができることを覚えておいてください。

4.3 iOS開発者の行動に関する質問

Q6: Swiftで誰かを個人的に指導した経験はありますか?

Q6を聞くべき理由 開発者が新人の良き指導者になれるかどうか。

Q7: 候補者のソリューションやプロジェクトの中で、最も誇りに思っているものは何かを尋ねる。

Q7を聞くべき理由。 これは、過去のプロジェクトにおけるタスクの複雑さのレベルをチェックするのに役立ちます。

5.でのiOSスキルの技術審査。 オンラインコーディングテスト

iOS開発者を採用するためには、CVスクリーンや面接が役に立ちますが、候補者が適切なiOSスキルを持っているかどうかは実際にはわかりません。候補者に本当に必要なのは、実際にソフトウェアを開発することなのです。候補者がコーディングプロジェクトを行うための時間と忍耐力は限られているため、間違った方法で行うと問題になります。オンライン・コーディング・テストは良い解決策になるでしょう。しかし、どのテストを選べばよいのでしょうか。適切なテストには、いくつかの重要な特徴があります。

  1. 候補者が採用された後に実際に行うタスクの種類(およびそのために必要となる実際のiOS開発者のスキル)を含みます。
  2. 働いている技術と技術スタックの両方をカバーする必要があります。
  3. 限りなく自然に近い状態であること。 開発プロセス as possible - ということです。
    1. 候補者は、自分のIDEにアクセスできること
    2. ライブラリ、フレームワーク、Stack Overflow、Googleなど、通常の仕事で使うすべてのリソースを使えるようにする必要があります。
  4. コーディングスキルだけでなく、ビジネスロジックもテストする必要があります。
  5. 候補者がどのようなコーディング判断をしているのかを明らかにする必要があります。
  6. 候補者に不必要な手間をかけさせないために、どこからでも受けられるようにしておく。

残念ながら、ほとんどのオンライン・コーディング・テストはこれらの要件を満たしていません。アルゴリズムテストでは、候補者がコーディングできるかどうかはわかりますが、候補者が環境や意思決定、使用するビジネスロジックをどれだけ理解しているかはわかりません。つまり、iOS開発者のスキルを正当に評価することはできないのです。また、コードの書き方としてはかなり不自然です。その結果、この方法では自分のスキルを正確に表現できないと感じた多くの開発者を失望させてしまいます。このような開発者は、貴社の採用パイプラインから脱落する危険性があります。

DevSkillerのワークサンプルテストはこれらの問題を解決します。DevSkiller上では、あなたのiOS開発者は、実際にiOS用の機能や小さなアプリケーションを作るように求められます。テストは世界中のどこからでも受けることができ、自然なプログラミング環境を表現しています。Objective-CとSwiftの両方で、様々なiOSテストを確認することができます。 コーディングテストカタログ.

6.DevSkillerすぐに使えるオンラインiOS開発者スキルアセスメント

スウィフト
ミドル
テストされたスキル
持続時間
38 分以内
評価
自動
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

プログラミングタスク - レベル。中程度

iOS|Swift|メモ帳アプリ - 提供されているNotesServiceを使ってメモを保存したり読んだりするシンプルなメモアプリです。

スウィフト
シニア
テストされたスキル
持続時間
77 分以内
評価
自動
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

プログラミングタスク - レベル: ハード

iOS|Swift|NSA Cipher Tool - 3つの暗号パズルを解いてNSAのプログラマーとしての夢のポジションを取る。

スウィフト
ジュニア
テストされたスキル
持続時間
45 分以内
評価
自動
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

プログラミングタスク - レベル。簡単

iOS|Swift|エニグマアプリ - テキストを暗号化して解読するアプリを作ろう。

スウィフト
ミドル
テストされたスキル
持続時間
48 分以内
評価
マニュアル
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

コードギャップ

知識評価 スウィフト, ユニコード, アイオーエス

コードレビュータスク - レベル。中程度

iOS|Swift|BookDataAnalyst - このコードのコードレビューを行ってください。品質とベストプラクティスへの準拠に注意を払ってください。

スウィフト
ミドル
テストされたスキル
持続時間
62 分以内
評価
自動
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

プログラミングタスク - レベル。中程度

iOS|Swift|エニグマアプリ - テキストを暗号化して復号化するアプリを作ろう。

スウィフト
ミドル
テストされたスキル
持続時間
126 分以内
評価
自動
テストの概要

選択問題

知識評価 アイオーエス, スウィフト

プログラミングタスク - レベル。中程度

iOS|Swift|ブックキーパーアプリ - 保存や汎用アイテムの取得などのコアデータスタックを初期化し、足りないメソッドを埋めてUI機能を修正することで追加機能を実装します。

スウィフト
シニア
テストされたスキル
持続時間
165 分以内
評価
自動
テストの概要

選択問題

知識評価 スウィフト, アイオーエス

プログラミングタスク - レベル: ハード

iOS|Swift|ブックキーパーアプリ - バックグラウンドスレッドでの保存とメインスレッドでの一般的なアイテムの取得を含む、並行して動作するようにコアデータスタックを初期化します。最後に、テストに合格するためには、textFieldの入力を適切に制限する必要があります。

スウィフト
ジュニア
テストされたスキル
持続時間
55 分以内
評価
自動
テストの概要

選択問題

知識評価 アイオーエス, スウィフト

プログラミングタスク - レベル。簡単

IOS|Swift|Weather App - ウェザーサービスのバックエンドから受信した気象データを解析するアプリを構築します。候補者は、提供されたJSONファイルを読み込んでデータモデルを作成し、それを解析して不足している関数を埋めて、モデルから必要な気象条件を取得する必要があります。

目的別C
ジュニア
テストされたスキル
持続時間
54 分以内
評価
自動
テストの概要

選択問題

知識評価 アイオーエス

プログラミングタスク - レベル。簡単

iOS | Objective-C | Weather App - ウェザーサービスのバックエンドから受信した天気データを分析するアプリを構築します。

スウィフト
ミドル
テストされたスキル
持続時間
80 分以内
評価
自動
テストの概要

選択問題

知識評価 アイオーエス, スウィフト

プログラミングタスク - レベル。中程度

iOS|Swift|CoffeHouse Analyst App - 不足している機能を埋めて、管理のために与えられたデータを分析する機能を実装します。

シェアポスト

技術者の採用についてはこちら

ラーニングハブに登録すると、有益な情報をメールで受け取ることができます。

シームレスにコーディングスキルを検証&開発

DevSkillerの製品をご覧ください。

セキュリティ認証とコンプライアンス。お客様のデータの安全性を確認します。

DevSkillerのロゴ タレントブーストのロゴ タレントスコアのロゴ