JavaScript開発者のスキルをスクリーニングして最適な人材を見つける方法 - IT人材紹介ガイド

公開されました。 最終更新日
JavaScript: ソフトウェアエンジニアのインタビュー質問

1.JavaScriptとは何ですか?

JavaScript(JSとも呼ばれる)は、高レベルでプロトタイプベースの型付けされていない動的な言語です。環境に応じて、JavaScriptは解釈されたり、コンパイルされたりします。マルチパラダイムのプログラミング言語で、オブジェクト指向、命令型、関数型のプログラミングスタイルをサポートしています。

ブラウザ専用の言語としてスタートしたJavaScriptは、HTMLやCSSで書かれたWebサイトをより良くするための様々な可能性を秘めていました。2009年、すべてが変わりました。今やJavaScriptはどこでも(文字通りどこでも)使えるようになりました。 宇宙服でもその理由は、GoogleのV8 JavaScript EngineをベースにしたJavaScript実行環境であるNode.jsにあります。JavaScriptで書かれたアプリケーションは、熟練した開発者によって作られれば、非常に高速になります。JavaScriptの世界への参入レベルが非常に低いため、現在ではJavaScriptは次のような分野の一つとなっています。 最も使用されている言語.

覚えておいてください。JavaとJavaScriptは同じプログラミング言語ではありません。開発者は自分の好きな言語に敏感なので、名前を混同しないようにすることはとても重要です。

2.IT企業の採用担当者がJavaScriptについて知っておくべきことは何ですか?

JavaScript開発者の需要は非常に急速に高まっています。JS開発者を探す際に知っておくべきことがいくつかあります。

- 先に述べたように、JavaScriptはとても簡単に扱えます。数行のコードでウェブサイトの動作を変更したり、Node.jsでシンプルなHTTPサーバーを作ったりすることができます。そして、これがJavaScriptの落とし穴でもあります。多くの開発者は、物事を成し遂げるために言語の小さな部分だけを学んでいます。高品質で高速なアプリケーションを書くためには、JavaScript自体の非常に優れた知識が必要なのです。

- JavaScriptの世界には、「新しいJavaScriptフレームワークがない日は、失われた日」という言葉があります。新しいツールは、雨の日のキノコのようにどんどん出てきます。私はこれを非難するつもりはありませんが、逆に奨励しています。この現象は、JavaScriptコミュニティがいかにクリエイティブで情熱的であるかを示しています。しかし、このような状況には1つの大きな欠点があります。それは、開発者に作られたばかりのフレームワークに関する知識を求めることです。人気のあるフレームワークに関する非常に優れた知識は、効率的な JavaScript アプリケーションを素早く書くためには重要ですが、純粋な JavaScript と古いフレームワークやライブラリについて膨大な経験を持つ開発者が新しいツールを学ぶ方が、言語を深く理解せずに新しいものに盲目的に従う開発者よりも良いのです。

- 一方で、純粋なJavaScriptだけでは不十分な場合もあります。すべてを一から作ることもできますが、時間がかかりますし、「時は金なり」ということを知っているからです。優れたJavaScript開発者は、少なくとも1つの人気の高い、実戦的なフレームワークやライブラリを知っているべきです。また、エコシステムは常に変化しているため、2~3年前に使われていたツールに関する知識は古くなっている可能性があります。

- どのような種類のJavaScript開発者を探しているのかを知る必要があります - フロントエンドチームに参加する人でしょうか?それとも、サーバーサイドのアプリケーションを担当する人でしょうか?

あるいは、ハイブリッド・モバイル・アプリケーションやモノのインターネット・デバイスを扱う人でしょうか。これらのケースでの言語のコアな理解は同じです。しかし、これらの開発者はそれぞれ、自分の仕事の分野に関連した異なる知識を持っている必要があります。

- ハイレベルなポジションでは、商業的な経験が必要ですが、ジュニアまたはミッドレベルの開発者にとっては、人気のあるリポジトリホスティングサービス(GitHubなど)の1つによく書かれたコードを持つ興味深いポートフォリオも同様に良いでしょう。候補者がオープンソースプロジェクトに貢献している場合はボーナスポイントが与えられます。

3.スクリーニングの段階でJavaScriptのスキルを確認するには?

開発者が使っている技術を知らないと、審査は大変です。また、JavaScriptのエコシステムのように、すべてが急速に変化している場合は、さらに困難です。そこで今回は、JavaScript開発者のスキルを確認するための実践的な採用のヒントをいくつかご紹介します。

3.1 CVに基づくJavaScriptスキルの技術審査

JavaScript技術 - IT採用担当者のためのJavaScript基本用語集

候補者の履歴書には多くの有益な情報が記載されていますが、何が最も重要かを選ぶ方法を知っておく必要があります。履歴書には様々な専門用語が書かれていますが、それらに惑わされないようにすることが非常に重要です。JavaScript開発者を探している技術系採用担当者は、候補者が使うすべての用語に精通している必要があります。

以下に役立つ情報を掲載していますので、上映中に正気を保つためにお役立てください。

技術系採用担当者のためのJavaScript用語集

JavaScriptのバージョン EcmaScript 5 (ES5 - どこでも利用可能)、EcmaScript 6 (ES6 - 最新のブラウザで利用可能)、EcmaScript 2016 (ES7 )
JavaScriptのフレームワークとライブラリ Angular.js、jQuery、React、Backbone、Ember、Vue.js、Polymer、Aurelia、Knockout、Rx.js
Node.jsのためのJavaScriptフレームワーク Express.js, Hapi.js, Koa, Sails, Meteor
Node.jsのパッケージマネージャー NPM、Bower、JSPM
Node.jsベースのタスクランナとビルドツール , Grunt, Broccoli, Webpack
JavaScriptのテストフレームワーク キャスパー、モカ、ジャスミン、ジェスチャー、カルマ
JavaScriptのトランスパイラ トレーサー、バベル
ハイブリッドモバイルアプリのフレームワーク Sencha Touch、Ionic、Apache Cordova、IntelXDK
JavaScriptのスーパーセットまたはJavaScriptにコンパイルされる言語 TypeScript、CoffeScript、Elm、Dart

これらは基本中の基本。あとはもっと深く掘り下げていきましょう。ツールやフレームワーク、ライブラリには様々なものがあり、それぞれに違いがあります。さらに言えば、ツールのバージョンによっても大きな違いがあります。候補者がAngularJSを知っていると言った場合、それはクライアントが求めているフレームワークのバージョンなのでしょうか?このまま読み進めれば、すべてが明らかになります。

Most Common JavaScript name which is used in interchangeably:

- JS, JavaScript, EcmaScript

- Node.js、Node、サーバーサイドJavaScript実行環境

- ハイブリッドアプリケーション、ハイブリッドモバイルアプリケーション、ハイブリッドアプリ

それぞれのバージョンのJavaScript技術の関係

- EcmaScript 6はEcmaScript 5を拡張したものです(JavaScriptsには後方互換性が必要で、そうでなければ新しいバージョンはウェブを壊してしまいます)。

- jQuery 1.x , 2.x , 3.x は類似しています。

- Angular 1.xとAngular 2.xは全く別物です。

- コアコンセプトは同じですが、Reactの各メジャーバージョンには違いがあります。

- Vue 1.xとVue 2.xは全く別物です。

- Ember.js 1.xで書かれたアプリケーションは2.xでも動作します。

- 基本的なコンセプトは同じですが、Node.jsの各メジャーバージョンには違いがあります。

- NPM 3.xはNPM 2.xのリッチバージョンです。

また、次の関係性を意識することも貴重です。

- MV*フレームワーク - Ember、Knockout、Angular 1.xのいずれかを知っている人がいれば、残りの部分を扱うことができます。

- ハイブリッド・モバイル・アプリケーション - AngularやReactを知っている人なら、ハイブリッド・モバイル・アプリケーションを作ることができるでしょう。

- サーバーサイドアプリケーション - Express、Hapi、Koa、Meteorを知っている人なら、残りの部分を扱うことができるでしょう。

その他、開発者のJavaScriptスキルを示すことができる履歴書の情報。

JavaScriptの世界は常に変化しているため、候補者のスキルを証明できる証明書はありません。でも、ひとつだけあります。それは、GitHubのアカウントです。優れたJavaScript開発者は、オープンソースプロジェクトにコントリビューターとして参加したり、より良いものを作るために自分でソフトウェアを作ったりしています。このような環境では、コードの品質を常にチェックしている他の開発者たちと接することになります。自分のコードを他の人と共有することは、よりよい開発者になるための最良の方法です。

もうひとつの側面は、JavaScriptカンファレンスへのスピーカーとしての参加です。ある分野で非常に高い技術を持った開発者が各地に招かれ、その技術を使った経験を語ることがよくあります。

3.2 電話/ビデオによるテクニカルインタビューでのJavaScriptスキルの技術審査

履歴書では、開発者のスキルについてはわかりますが、開発者自身については何もわかりません。だからこそ、電話やビデオ会議による面接が普及しているのです。スキルも大切ですが、どんな人を相手にしているのか、さらにはクライアントのチームワークを考えたときに、どんな人なのかを知る必要があります。だからこそ、面接の前にはきちんとした準備が必要なのです。

以下に、候補者についてより詳しく知ることができる質問例をいくつかご紹介します。これらを参考に、適切な候補者をより簡単に探すことができれば幸いです。

  1. 開発者の経験に関するJavaScriptのインタビュー質問

Q1: あなたの履歴書に記載されている技術について、過去2年間に商業的な経験がありましたか?どのような仕事をしていましたか?

Q1に聞く理由。 この質問をすることで、候補者のJavaの最新の経験、責任、実績についての詳細を知ることができます。このようにして、候補者をよりよく知ることができます。

  1. 開発者の知識や意見に関するJavaScriptのインタビュー質問

Q2: あなたが価値があると考えるJavaScriptライブラリとその理由を教えてください。

Q2を質問する理由。 この問題は、受験者のJavaScriptエコシステムに関する知識を示すものです。技術の選択に関する全体像を見ることができます。

Q3: あなたが履歴書にフレームワークXを記載していることに気づきました。それについてのあなたの意見は?それは良い選択ですか?

Q3を質問する理由。 これらの質問は、特定の技術に関する知識を示すものです。不確かで不安定な答えは、履歴書の中の嘘を見つけるのに役立ちます。また、「でも、なぜそのためにフレームワークYを使わないのですか?このようにして、候補者がどのように技術を選択し、その選択を正当化し、彼の意見があなたのITチームと一致しているかどうかを確認することができる。

Q4: JavaScriptに関連した新しい技術を学ぶとしたら、それは何ですか?

なぜQ4を聞くのか。 この質問に対する回答は、候補者の学習に対するアプローチを示すものであり、過去に習得した古い知識をまだ使用している開発者を見つけるのに役立ちます。

  1. JavaScript技術に関する開発者の意思決定に関するJavaインタビュー質問

Q5: 最近のプロジェクトにはどのような段階で参加されましたか?技術の選択やプロジェクトのセットアップに関与しましたか?もしそうであれば、プロジェクトにどの技術を選んだか、あるいは推奨したか、その理由は何ですか?

Q5を聞く理由。 このような質問は、候補者がテクノロジーに関する選択をどのように行うかだけでなく、決定に参加していたかどうかも示します。経験のある人を探している場合は特に重要です。

  1. JavaScript開発者への行動上の質問

Q6: あなたが行ったプログラミングプロジェクトの決定が失敗だったことについて考えてみてください。なぜそれが失敗だったと思いますか?なぜそうなってしまったのでしょうか?それを成功に変えるために、何か別の方法はありませんでしたか?状況を改善するためにどのようなステップを踏みましたか?この経験から何を学びましたか?

Q6.質問する理由 そのタイプの質問は、候補者が自分の判断をどのように受け止め、結論を導き、それまでの経験からどの程度の学びを得ているのかを知るのに役立ちます。

Q7: あなたはオープンソースプロジェクトに貢献していますか、あるいは自分のオープンソースプロジェクトを管理していますか?JavaScriptのカンファレンスに参加していますか?

Q7.質問する理由 このような質問は、候補者が自分の知識を共有したいと思っているか、JavaScriptのエコシステムの中で意義のある存在になりたいと思っているかを示しています。自分の経験を共有したいという強い意志を持った人は、しばしば良いチームプレーヤーとなります。

をご覧ください。 JavaScript開発者の給与 のガイドをしています。

著者 - Mateusz Rojecki フロントエンドデベロッパー @ コーダーズラボ

コーダーズラボコーダーズラボ(www.coderslab.pl)は、ポーランド最大のコーディングスクールで、ワルシャワ、クラクフ、カトヴィツェ、ヴロツワフ、ポズナン、ウッチで活動しています。6週間のブートキャンプでは、フロントエンドまたはバックエンドのウェブ開発技術を学びます。私たちの指導方法は、実践、メンターとの共同作業、学生のポートフォリオ作成、キャリアサポートの4つの分野に焦点を当てています。私たちは、知識ベースの教育をサポートするために、市場の最新技術ニーズにプログラムを調整しています。これまでに300人以上の学生がブートキャンプを卒業しています。

DevSkillerは、すぐに使えるJavaScriptのオンラインコーディング評価テストです。

DevSkillerは、企業のIT採用活動を支援するために、入社1日目の環境で候補者のプログラミングスキルをテストするためのインフラを提供しています。企業が独自に開発したコードベースや、フレームワークやライブラリを使ったITプロジェクト全体を利用して、オンラインでプログラマーをテストすることができます。また、すぐに使えるJavaScriptコーディングテストも用意していますので、技術系の採用キャンペーンにご利用ください。

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

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

HTML/CSS|トップページ - CSSのプロパティ定義を完成させ、ホームページを表示する前に適切なスプラッシュローダー画面を表示するようにしました。

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

JavaScript|機能メモ化 - 汎用メモ化機構の2つのバージョンを書く。

アンギュラー
ミドル
テストされたスキル
持続時間
101 分以内
評価
自動
テストの概要

選択問題

知識評価 アンギュラー, JavaScript

コードギャップ

知識評価 アンギュラー, JavaScript

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

JavaScript|Angular|Reactive forms - Reactive formsを使って登録フォームを用意する

Angular 2+
シニア
テストされたスキル
持続時間
53 分以内
評価
自動
テストの概要

コードギャップ

知識評価 Angular2+, JavaScript

選択問題

知識評価 エッチエムティーエル

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

JavaScript|Angular 2+|Router Role Based Access Control - ルートとコンポーネントのためのシンプルなRBACを準備します。

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

選択問題

知識評価 JavaScript, Vue.js

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

JavaScript|Vue.js|Notepad - 提供されているNotesServiceを使って、メモを保存したり読んだりするシンプルなメモアプリケーションを完成させます。

Vue.js
ミドル
テストされたスキル
持続時間
70 分以内
評価
自動
テストの概要

選択問題

知識評価 JavaScript, Vue.js

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

JavaScript|Vue.js|お問い合わせフォーム - ユーザーがログインできるように、名前とメールアドレスが入力され、フォーム送信後に「ありがとうございました」というメッセージが表示されるように、フォームを完成させます。

タイプスクリプト
ミドル
テストされたスキル
持続時間
65 分以内
評価
自動
テストの概要

選択問題

知識評価 タイプスクリプト

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

TypeScript|Reduxセレクタ|人事部 - 人事データを処理するReduxセレクタを実装します。実装はスナップショットテストでテストされます。

Vue.js
ジュニア
テストされたスキル
持続時間
65 分以内
評価
自動
テストの概要

選択問題

知識評価 JavaScript, エッチエムティーエル, シーエスエス

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

JavaScript|Vue.js|Calendar Notes - カレンダーから選択した日付のメモを追加できるアプリケーションを実装します。

アンギュラー
ジュニア
テストされたスキル
持続時間
58 分以内
評価
自動
テストの概要

選択問題

知識評価 Angular2+, JavaScript, rxjs

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

JavaScript|Angular 2+|仮想名刺 - サービス、RxJS、Angularを使って仮想名刺のコンポーネントを接続する 入力.

リアクト
ミドル
テストされたスキル
持続時間
113 分以内
評価
自動
テストの概要

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

JavaScript|React, Redux|アドレス帳 - Reduxの上に構築された小さなReactウェブアプリケーションの不足している機能を実装します。

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

JavaScript | Node.js | アドレス帳 - 連絡先のリストを取得するためのエンドポイントを実装します (フェーズマッチと結果の制限付き)。

コードギャップ

知識評価 MongoDB

ジャワ
ジュニア
テストされたスキル
持続時間
120 分以内
評価
自動
テストの概要

フロントエンドのプログラミングタスク - レベル。簡単

JavaScript|TypeScript|請求書アプリケーション - フロントエンド - 請求書データと為替レートをマージして集計するフロントエンド部分を実装します。

バックエンドのプログラミングタスク - レベル。簡単

Java|請求書アプリケーション - バックエンド - 請求書データをサービスやDAOメソッドで検索・集計するバックエンド部分を実装します。

シェアポスト

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

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

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

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

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

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