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

Java開発者のスキルをスクリーニングして最適なものを見つける方法 - IT採用のためのガイド

2月 25, 2016
Java:ソフトウェアエンジニアの面接の質問

Java開発者を雇いたいと思っていても、何を探せばいいのか手掛かりがない場合、それは深刻な問題になります。候補者のLinkedInプロフィールや履歴書をいくらでも検索することができます。JPAとGradelの見分けがつかなければ、その候補者が自分の求めるポジションに適しているかどうかを見分けることはできません。この記事は、Javaスキルを持つプログラマーを探しているITリクルーターに必要な情報をすべて収集するために書きました。

1.Javaとは何か?

Javaはコンパイル済みのオブジェクト指向プログラミング言語で、構文はC++に似ています。これは、アプリケーション開発者が「一度書いたらどこでも実行」できるようにすることを目的としており、コンパイルされたJavaコードは、再コンパイルの必要なしにJavaをサポートするすべてのプラットフォームで実行できることを意味します。Javaで書かれたアプリケーションは、プログラムの速度を継続的に分析し、頻繁に実行される箇所を最適化するジャストインタイムコンパイラの使用により、非常に優れたパフォーマンスを発揮します。Javaのもう一つの重要な利点は、開発者がメモリの割り当てと解放について明示的に心配することなくアプリケーションを書くことができる自動メモリ管理です。2020年時点では 普及型プログラミング言語 雇い主試験.Javaは、ノンプログラマーにとって使いやすい言語とは考えられていません。

JavaとJavascriptは車とカーペットのようなもので、この2つのプログラミング言語を混同してはいけません。

2.IT採用担当者が知っておくべきJavaの重要性とは?

Javaのスキルをスクリーニングする方法の詳細に行く前に、最初にこの技術に精通することができるようになるいくつかの基本的なことを共有させてください。

まず、Javaの世界は頻繁に変化するので、5年前のフレームワークでの経験はもう通用しません。これまでの雇用に基づいてJava開発者のスキルを評価する際には、このことを念頭に置いてください。

第二に、Java環境では、言語そのものの知識よりも、ツールやライブラリの知識の方が価値があるということです。それがなければ、プログラマは自分ですべてをゼロから書くことになり、時間を浪費するだけです。もし開発者がJavaのライブラリやフレームワークに精通していれば、レゴのようにそれを使って必要なものを作り、必要なところだけにコードを書くことができます。このようにすることで、彼らの仕事はより効率的になります。

最後になりますが、重要なのは商業経験だけではありません。大学で学んだJavaの知識がビジネスコーディングに役立つことはほとんどありません。したがって、エントリーレベルやジュニアのポジションを募集する場合を除いて、大学の学歴や学位だけでJavaのスキルを評価することは避けた方が良いでしょう。その場合、より重要なのは候補者の実際のコーディング・プロジェクトであり、商業的なものである必要はありません。

Java開発者としての基本的なスキル

  1.  ジャワげんご
    - コレクション
    - ストリームとラムダ式
    - 並行処理: スレッドプール
    - ロック
    - 現代の言語機能: レコード、強化されたスイッチ
  2. フレームワーク
    - スプリングブーツ2
    - Spring MVC/WebFlux for REST APIs
    - HibernateとSQL
    - たんい
    - スポック(グルーヴィーな言葉が必要
  3. ツール
    - MavenとGradle
    - IDE、例:IntelliJ IDEA
    - ギット
    - ドッカー
  4. 次のステップ(いくつか選択):(Kotlin、Groovy(スポック用)、リアクティブプログラミング(Reactor)、Kubernetes、ReactまたはAngular 2+(フロントエンド用)、Android開発用

3.審査段階でのJavaスキルの確認方法は?

選考は疲れるし、手間がかかるし、時間もかかります。通常、IT採用担当者は、面接やビデオ通話による履歴書に基づいたJavaスキルの評価から、オンラインでのコーディングテストまで、以下のようなスクリーニング手法を採用しています。

以下では、各メソッドを使ってJavaのスキルを検証する方法について、便利で実践的な採用情報を紹介しています。

3.1.履歴書によるJavaスキルの技術審査

Java技術 - ITリクルーターのためのJava用語の基本的な用語集

確かに、必要な情報はすべて履歴書に記載されています。簡単そうに聞こえますよね?しかし、あなたが履歴書のスクリーニングを開始すると、あなたはHibernateやJMXのような用語に出くわし、かなり迅速に、これはあなたが探している候補者であるかどうかを混乱させる。あなたがJavaのポジションのために募集しているテックリクルーターであれば、あなたが探しているものを知って、あなたの候補者と同じ言語を話すことができるようにするために、少なくともそのすべてのフレームワーク、ビルドツールなどに精通している必要があります(または、少なくとも候補者が話している基本的なことを理解しています)。

そのため、この基本的なJava用語集を用意しました。

技術系採用担当者のためのJava用語集
ジャワイーイーイーイーコンポーネント Java Server Pages (JSP)、サーブレット、Enterprise Java Beans (EJB)、JAX-RS、JAX-WS、Java Message Service (JMS)
ジャバウェブフレームワーク Java Server Faces (JSF)、Spring MVC、Vaadin/GWT、Wicket、Play
オーアールエム Hibernate、Java Persistence API (JPA)、EclipseLink、OpenJPA
Java ビルドツール Maven, Gradle, Ant
ジャワアプリケーションコンテナ Tomcat、JBoss/Wildfly、Undertow、Jetty、WebLogic、WebSphere
ジャワテストツール JUnit、TestNG、Spock、Mockito、Cucumber
IoCフレームワーク Springフレームワーク、Guice、CDI

基本的なことが分かったところで、詳細を説明しましょう。技術に詳しくない人は、様々な技術名や略語に混乱しがちです。候補者がEJBを知っていると言った場合、それはJava EEに精通していることを意味しますか?あるいは、申請者がMaven 1を知っている場合、Maven 2も扱えるということでしょうか?落ち着いてください、私たちはあなたを助けます。ただ読み続けてください。

相互に使用される最も一般的なJava技術名。

- JPA、Hibernate、Java Persistence、Java Persistence API。

- Java EE、EJB、Enterprise Java Beans、Enterprise Java。

- JBoss、Wildfly。

Java技術の各バージョン間の関係

- EJB 2.0とEJB 3.0では全く違います。

- Java EE 1.4はJava EE 5とは全く異なります。

- Java EE 7は、Java EE 5の強化版であるJava EE 6の強化版です。

- Spring 2.0またはSpring 3.0はSpring 4.0に似ています。

- AcegiはSpring Securityに社名を変更しました。

- Maven 1はMaven 2とは全く異なります。

- Maven 2はMaven 3と非常によく似ています。

- Hibernate 4.xはHibernate 5.xと非常によく似ています。

- GWT 1.xはGWT 2.xとは異なります。

- ストラット1とストラット2は全く違います。

- JPA 2.xはJPA 1.0のリッチ版です。

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

- 全文検索:Lucene、Solr、ElasticSearchのいずれかを知っている人がいれば、残りの部分を処理することができます。

- オブジェクトリレーショナルマッピング。 誰かがHibernate, EclipseLink, OpenJPAのどれかを知っていれば、残りの部分を処理することができるでしょう。

- RESTfulなサービス。 誰かが春のMVC、JaxRS、ジャージーのいずれかを知っている場合は、残りの部分に対処することができます。

開発者のJavaスキルを評価するためのJava証明書の意義

Javaの証明書は、通常、雇用者に喜ばれます。しかし、証明書が候補者の要件であることはほとんどありません。それらのどれもが開発者の能力を保証するものではないため、技術的な採用担当者として、あなたは証明書に基づいてJavaプログラミングスキルを評価する上で、しかし慎重でなければなりません。

非常に経験豊富なプログラマーが認定試験にほとんど合格せず、弱いプログラマーがそのような試験で良い点数を取ってしまうことはよくあります。なぜそうなのでしょうか?このような証明書は実用的なスキルを証明するものではないからです。通常、経験豊富な開発者がドキュメントですぐに見つけたり、それを確認できるようなことを、暗記して学習する必要があります。迅速にというのは、試験中には使用できないお気に入りの IDE (プログラマがアプリケーションで作業するために使用するソフトウェア) を使用して、数秒以内に習得することを意味します。ちなみに、IDEが使えないというのは、プログラマーは日常的にIDEなどの外部ソースをたくさん使って仕事をしているので、意味がありません。

以下では、3つのグループに分かれているJava認証のリストを見つけることができます。

A.実践的な経験を必要とする実用的なJavaの証明書、主題の深い知識の保証

春の証明書。

- 春のプロ。

- Spring Webアプリケーション開発者。

- エンタープライズ・インテグレーション・スペシャリスト。

B.有用なJava証明書は、知識の信頼できる証明として機能することができます。

- Oracle Certified Master, Java SE 6 - かなり良いレベルのJavaスキルが必要ですが、10年前(2006年)にリリースされたJava 1.6だけです。

- Oracle Certified Expert, Java EE 6 Web Services Developer - 健全な知識が必要ですが、商業的な経験を検証するものではないため、プロジェクトの成功を保証するものではありません。

- Oracle Certified Expert, Java EE 6 Java Persistence API Developer - 健全な知識が必要ですが、商業的な経験を検証するものではないため、プロジェクトの成功を保証するものではありません。

- Oracle Certified Master, Java EE 6 Enterprise Architect - 候補者は、アーキテクチャレベルでJavaを理解し、適用することができます。

- IBM WebSphere - 健全な製品知識が必要ですが、商業的な経験を検証していないため、プロジェクトの成功を保証するものではありません。

C.Javaの証明書 - 理論的な知識、ビジネスの観点からはあまり役に立たない

- Oracle Certified Associate、Java SE。

- Oracle Certified Professional、Java SE。

- Oracle Certified Expert、Java EE 6 JavaServer Faces Developer。

- Oracle Certified Expert、Java EE 6 Web Component Developer。

- Oracle Certified Expert、Java EE 6 Enterprise JavaBeans Developer。

開発者のJavaスキルがわかる履歴書のその他の情報

オープンソースプロジェクトへの参加は、考慮に値する情報です。もし候補者が有名で大規模なプロジェクトへの貢献者であれば、それは大きな価値があります。また、プログラマーが、当社が社員を募集しているITプロジェクトと似たような種類のプロジェクトでの経験を持っているかどうかも重要です。新しいものを作るには、それを維持するのとは異なるスキルと属性のセットが必要です。

3.2.電話/ビデオ技術面接でのJavaスキルの技術審査

履歴書から候補者のプログラミングスキルについて信頼できる結論を出すのはかなり難しいため、IT採用担当者は電話やビデオ面接を行うことが多いです。このような面接では、Javaのスキルに関する質問をする機会があります。多くの企業では、このような技術的な電話やビデオインタビューが、ITチームとのオンサイト技術インタビューに招待するかどうかの判断材料になっているので、適切な技術的な質問をする価値があります。

質問自体は、募集しているポジションや確認したい具体的なスキルによって異なりますので、私の経験から、候補者のJavaスキルについては、以下のような一般的な質問をお勧めします。

A.開発者の経験に関するJavaの面接質問

  • Q1: 履歴書に記載されているどの技術で、過去2年間に商業的な経験がありましたか?担当した業務は何ですか?最大の成果は何ですか?
  • Q1に聞く理由。 この質問をすることで、候補者のJavaの最新の経験、責任、実績についての詳細を知ることができます。このようにして、候補者をよりよく知ることができます。

B.ジャワ面接問題開発者の知識や意見について

  • Q2: あなたが価値があると思うJavaオープンソースライブラリはどれですか?
  • Q2を質問する理由。 この問題では、受験者はJavaエコシステムについての知識を示すことができます。さらに、受験者は特定の技術を選択する際に何を考慮しているかを指摘することができます。また、この質問に続く質問として、オープンソースに対する商用ソリューションの利点は何だと考えているのか、またその逆も質問することができます。これは候補者がどのように考えているかを示しています。
  • Q3: 履歴書にフレームワークXを記載していましたね。それについてどう思いますか?良い選択ですか?
  • Q3を質問する理由。 このようなオープンな質問をすることで、受験者が知識を持っていれば、それを証明することができます。また、「でも、なぜフレームワークYを使わないのか」という回答に基づいて悪魔の擁護者を演じることもできます。このようにして、候補者がどのように技術を選択し、その選択を正当化し、彼の意見があなたのITチームと一致しているかどうかを見ることができます。

C.ジャワ面接問題Java技術に関する開発者の意思決定について

  • Q4: 最近のプロジェクトにはどのような段階で参加されましたか?技術の選択やプロジェクトのセットアップに関与しましたか?もしそうであれば、プロジェクトにどの技術を選んだか、あるいは推奨したか、その理由は何ですか?
  • Q4を聞く理由。 このような質問では、候補者が技術に関する選択をどのように行っているかだけでなく、意思決定に含まれていたかどうかがわかります。経験者を探している場合は特に重要です。

D.java開発者のための行動問題

  • Q5: あなたが行ったプログラミングプロジェクトの決定が失敗だったことについて考えてみてください。なぜそれが失敗だったと思いますか?なぜそうなってしまったのでしょうか?それを成功に変えるために、何か別の方法はありませんでしたか?状況を改善するためにどのようなステップを踏みましたか?この経験から何を学びましたか?
  • Q5を聞く理由。 そのタイプの質問は、候補者が自分の判断をどのように受け止め、結論を導き、それまでの経験からどの程度の学びを得ているのかを知るのに役立ちます。

3.3.オンラインコーディングテストによるJava開発者スキルの技術審査

オンラインコーディングテストは、Java開発者のスキルをスクリーニングするための素晴らしい方法であることができます。以下では、どのようにプログラミングテストを使用することができ、どのものを選択するかについての情報を見つけるでしょう。

オンラインJavaコーディングテスト-スクリーニングのための主な方法または追加の方法

企業によっては、履歴書を分析し、電話やビデオインタビューを実施した後に、追加のスクリーニング方法としてプログラミングテストを採用しているところもあります。しかし、最近ではプログラミングスキルのスクリーニングの第一の方法としてコーディングテストを採用する企業が増えてきています。これは、あるポジションに応募してきた候補者全員にテストを受けてもらうというものです。このようにして、ITリクルーターは試験に合格した候補者だけに時間を費やし、Javaプログラミングスキルを持っていることを証明し、一方で、そのような候補者はすでに採用プロセスに時間を費やしているので、そのすべての段階に参加する可能性が高くなります。

Javaのオンラインコーディングテスト - 選択するものは何ですか?

しかし、正確にスクリーニングするためには、コーディングテストは正しいものでなければなりません。

市場にはたくさんのJavaオンラインコーディングテストがありますが、通常、それらは実際のコーディング問題を解決するためのプログラミングスキルや能力ではなく、候補者の知識を確認します。そのため、多くの経験豊富なプログラマーはこの種の評価を好まず、さらに、実際のプログラミング問題を解決するための経験とスキルを示すことができないため、良いスコアを得ることができません。

では、そのようなコーディングテストはどのような機能を持つべきでしょうか?以下に、私のトップ5の機能を紹介します。

  1. Javaプログラミングテストは、技術全般に関する限り、Java開発者のスキルだけでなく、フレームワークやライブラリも確認する必要があります。
  2. Javaコーディングテストは、多肢選択式テストだけではなく、何よりも、候補者が仕事を得た場合の責任にマッチした難易度のプログラミングタスクで構成されるべきです(テストはアルゴリズムタスクに基づいていてはいけません。
  3. 好ましくは、Javaプログラミングのタスクは、候補者が仕事を取得した後に持っている課題を模倣するための最良の方法であるため、企業のコードベース上で準備する必要があります。
  4. プログラマーが外部ソースを使うことを禁止しても意味がないので、職場のような環境を作ってあげるのが一番です。さらに、受験者は、彼が日常的に行うのと同じように、彼らの好みのIDEを使用することができるようにする必要があります。
  5. コーディングテストはまた、Javaのスキルをテストするためのコードレビューの課題を持つタスクを含めることができます。これは、候補者の経験について非常に正確な情報を与える、コードの品質とデバッグとトラップを見つけるの効率へのアプローチ。Javaのシニア開発者を募集する際には、このような評価は義務であるべきである。

4.DevSkillerのすぐに使えるオンラインJavaコーディング評価テスト

DevSkillerでは、企業が自社のコードベース、フレームワークやライブラリを使用したITプロジェクト全体を利用して、オンラインでプログラマーをテストできるインフラを提供しています。また、すぐに使えるJavaコーディングテストもご用意しておりますので、採用キャンペーンにもご利用いただけます。

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

選択問題

知識評価 ジャワ,

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

Java | Spring | Currency Exchange Service - 為替レートサービスを作成します。ユーザーが為替レートの情報を取得し、為替レートの後に得られる金額を計算できるようにする必要があります。

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

選択問題

知識評価 ジャワ,

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

Java|Kafka|航空券予約 - 旅行会社から受信したデータの品質を検証するサービスを実装します。

スプリングブーツ
ジュニア
テストされたスキル
持続時間
54 分以内
評価
自動
テストの概要

選択問題

知識評価 ジャワ, スプリングブーツ

コードギャップ

知識評価 ジャワ

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

Java|Spring Boot|HATEOAS Bike Station - REST APIへのHATEOASの実装を終了します。

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

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

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

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

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

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

選択問題

知識評価 ジャワ

コードギャップ

知識評価 ジャワ

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

Java | GetWordFromText and Reverse - テキストから単語を返し、それを反転させる2つのメソッドを実装する。

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

選択問題

知識評価 ジャワ

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

Java|HttpClientを使用した簡単なCRUD - Java 11 HttpClientを使用して、基本的なCRUD操作を実装します。

品質保証
シニア
テストされたスキル
持続時間
49 分以内
評価
自動
テストの概要

選択問題

知識評価 品質保証, ユニットテスト, マニュアルテスト, テスト

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

QA|Java、Selenium|多要素認証テストの自動化 - Seleniumで認証機構を自動化する。

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

コードギャップ

知識評価 ジャワ, 品質保証, セレン

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

QA|Java, Selenium|テキストとリンクの抽出 - このタスクの目的は、ページからテキストを取得する能力をテストすることです。タスクには、見えない要素だけでなく、テキストのある要素が表示されるのを待つことも含まれています。

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

選択問題

知識評価 ジャワ, スプリングブーツ

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

Java | Spring Boot, Kotlin | Orders microservice - RESTful miscroservice のバックボーンを実装します。

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

コードギャップ

知識評価 ジャワ, 品質保証, セレン

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

Java | Selenium | ドロップダウンとコレクション - SeleniumExecutor クラスに 2 つのメソッドを実装します。Selenium WebDriver を使用して src/test/resources/__files/index.html ページからページ上で以下のタスクを実行する必要があります。

シェアポスト

メルマガよりも

インボックスにある有益な情報を受信して、技術者採用の詳細を確認してください。

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

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

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