2008-09-10 4 views
7

大学のコープ/インターンや最近の卒業生にインタビューするときに、15分でホワイトボードで行うことができるJavaプログラミングの質問をするのに役立ちます。誰もこのような良い質問の例を持っていますか?私がインタビューで一度尋ねられたC++の質問は、整数関数に文字列を書くことでした。これは、私が探している質問のレベルの行に沿っています。最近の大学卒業生に尋ねる15分Javaの質問

答えて

6

いくつかのもの:

  • IsPalindrome(文字列s)
  • ReverseWordsInString(文字列s): "私は、Javaを知っている" - > "Javaは知っているI"
心にスプリング

その他のもの:

  • は(?このOO-スタイル行うことができます)
  • 行列とベクトルを乗算
  • echo(はい、UNIXツールの簡単なクローン)
  • cat(15分は十分なはずですが、無知を取り除く必要があります)
  • intのための単純なコンテナ。 ArrayListのように。 ボーナスに関する質問:一般?
6
  1. ポインタ(実際に乏しいものが、このために落ちる)
  2. を使用して変数の値を交換する関数を書くXY平面内の2点間の距離を見つけるためのプログラムを書きます。ポイントを格納するためにクラスを利用する。
  3. 単純なプログラムとしてJavaで多態性を使用する方法を示します。
  4. 最初のn個の素数を印刷するプログラムを作成します。
  5. ファイル内の文字列を別の文字列に置き換えるプログラムを作成します。
+4

Javaがポインタを持たないため、1はちょっと難しいですか(それともちょっと疑問ですか?) –

9

ホワイトボード上にある必要がある理由はありますか?個人的には、キーボードの前に座ってコードを書くようにしたいと思います。私たちのテストは、単純な100(IIRC)ラインのSwingテキストエディタでした。その後、いくつかの簡単な方法でコードをコンパイルし、少し複雑にし、候補者に半時間と1時間の問題と解決する問題のリストを渡しました。

何か手を差し伸べることができない場合でも、明示的に技術的な質問をしてください。もう1回のインタビューでは、最近の卒業生の中にはIDEの騎手のような流行の卒業生しかいなかったので、ホワイトボードの前で彼らの手を振ってみると、エンタープライズとSOAについて語ってもらえますfinalprotectedが意味するものを尋ねるシンプルなJavaの基本的な複数の選択肢の試験は、恐ろしいほどひどくなりました。 SOに現れた

+0

このテキストエディタのテストは15分ではありませんが、優れたテストのようです。これは、書くアルゴリズムと比べてあなたが実際にやることに似ています。誰かが作ったかもしれないコードを維持します。 – palto

7

私はいつもアルゴリズム的な質問は言語に依存しないと考えました。生徒のJavaレベルをテストする場合は、そのキーワードに焦点を当てます(そのキーワードは静的なものからもっと異国的なもの、揮発性のものなど)、ジェネリックス、オーバーロード、変数/標準ライブラリのボクシング/ボックス解除を行います。

0

実際の言語の質問からアルゴリズム的な質問を分離することについては、私はNicolasに同意します。

あなたは、ホワイトボードに疑似コードを書くことができるカップルの単純なアルゴリズムの質問を与えることを考えているかもしれません(例えば、「Bubble sortを説明してください。 "

その後、彼らはアルゴリズムの知識を実証すると、Javaの質問に移ります。ホワイトボードの前よりもコンピュータの前でうまくいく人もいるので、単純なものを与えますが、あなたが会社で使っているのと同じIDEを使って30分程度で実装できるJavaの知識。IDEを知っていると言えば、彼らがどれだけそれを知っているかを知ることができます。

0
  1. 2つのソート済みリストをマージする機能を作成します。簡単な最適化と正しい境界チェック/サブリスト呼び出しを探します。 TにcompareToを実装するように伝えます。

    公衆リスト<T>マージ(一覧<T>一リスト<T> 2、INT限界)

  2. は真を返す関数を作成する場合、所与の和に配列和内の任意の2つの整数。何らかのセットやデータ構造を使って、n乗がnより良くなるようにしてもらう。

    公共ブールcontainsSum私はそれらに彼らの学部の授業でカバーされていたであろう質問を避けるだろう

0

(INT [] NUMS、int型の合計)。私は、複雑な技術的問題を解決するために学んだことをすべて適用する能力についてもっと興味があると思います。あなたのビジネスがITソリューションのための特定の必要性を持っているなら、それを出発点として使うことができます。候補者にどの技術を使用するのか、それらの技術と代替技術の使用の賛否両論を尋ねることができます。ディスカッションが進行するにつれて、彼らの技術的スキル、問題解決スキル、対人関係スキルなどを感じ取ることができます。私は、コーチングを避けることが重要だと思います。これはBSersを除外するために重要です。

+0

しかし、あなたは本当に彼らが学部で学んだ基礎を忘れてしまった人たちを除外したいと思うでしょう!誰もがFizzBu​​zzを書くことができると仮定しないでください。 – Jimmy

1

質問するのがわからない場合は、Javaでインタビューするのが適切ではないかもしれません。すべての尊敬の念を払って、私は人々が自分自身が答えを知らないインタビューの質問を私に尋ねるとき、私は嫌いです。ほとんどの質問の回答は、数秒でグーグルでオンラインで見つけることができます。誰かがJavaでの経験があるなら、コアクラスのビルディングブロックであるため、抽象クラス、インターフェイスなどを間違いなく知っています。彼/彼女は '揮発性の'キーワードを知らない場合 - 大したこと。

+0

私はあなたの一般的な点に同意すると思いますが、質問者が質問にも答える資格があるように聞こえます。そして確かに、私は見なければならなかったWTFはJavaで揮発性でしたし、私は仕事としてJ2EEで働いています。 – MattGWagner

関連する問題