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コーディングテストも用意していますので、技術系の採用キャンペーンにご利用ください。

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

選択問題

知識評価 JavaScript, リアクト,

コードギャップ

知識評価 JavaScript, リアクト, イーエスエルシックス

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

JavaScript|React、クラスコンポーネント、Enzyme|お問い合わせフォーム - 簡単なフォームのReactアプリケーションの実装を終了します。

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

選択問題

知識評価 数学, 確率, ソフトスキル, サイバーセキュリティ, 脆弱性, ウェブセキュリティ

コードギャップ

知識評価 サイバーセキュリティ, ネットキャット, リバーシェル, Nmap, ポートスキャン, カール, パスワード, 保護

テストタスク - レベル。簡単

サイバーセキュリティ|XSS Pastebin - この課題では、出場者は、管理者ポータルで XSS 脆弱性が発生しやすい pastebin ページを使ったタスクを与えられます。これは、攻撃者が正しい認証情報を知らなくても、管理者になりすますことを可能にします。

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

選択問題

知識評価 JavaScript

コードギャップ

知識評価 JavaScript

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

JavaScript|オフィスゲーム - Tic Tac Toe - 人気のTicTacToeゲームの変更版を終了します。

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

選択問題

知識評価 JavaScript

コードギャップ

知識評価 JavaScript

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

JavaScript|単語検索 - letterGridを保持するWordSearchオブジェクトを初期化し、与えられたグリッドを全方向から検索するfindメソッドを実装します。

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

選択問題

知識評価 JS, JavaScript, リアクト

コードギャップ

知識評価 JavaScript, リアクト

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

JavaScript|React、クラスコンポーネント、Enzyme|サーチエンジンアプリケーション - オンラインショップの商品を検索・絞り込みするアプリケーションを実装します。

ノードJS
ミドル
テストされたスキル
持続時間
87 分以内
評価
自動
テストの概要

選択問題

知識評価 JavaScript, ノードJS

コードギャップ

知識評価 JavaScript, ノードJS, エスエッチエル

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

Node.JS|Rest API|ニュースバックエンドサービス - Node.JS で作成したニュースバックエンドサービスを Vanilla JS で実装し、認証と Rest API を書き込む。

タイプスクリプト
ジュニア
テストされたスキル
持続時間
51 分以内
評価
自動
テストの概要

選択問題

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

コードギャップ

知識評価 JavaScript, リアクト

選択問題

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

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

TypeScript|React Hooks|Movies State Management - React Hooksを使って、既存のビューにステートマネジメントを実装することで、ムービー管理アプリケーションを完成させました。

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

選択問題

知識評価 JavaScript, リュークス

コードギャップ

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

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

JavaScript|Reduxセレクター|人事部研修 - reduxのreducerとselectorを正しく実装する。

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

選択問題

知識評価 リアクトネイティブ

コードギャップ

知識評価 JavaScript, リアクトネイティブ

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

React Native|新しいソーシャルメディアアプリ「Cheeper」 基本的なソーシャライジングができるように実装を仕上げる。

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

選択問題

知識評価 アンギュラー, JavaScript, タイプスクリプト

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

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

シェアポスト

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

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

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

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

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

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