- PR -

Java初級者と中級者を見分ける質問とは?

投稿者投稿内容
REQ
会議室デビュー日: 2004/11/25
投稿数: 3
投稿日時: 2004-11-25 16:46
こんにちは。REQと申します。

先日、Javaプログラムの開発を発注したのですが、アサインされたプログラマがローカル変数とインスタンス変数の違いすらわからないレベルだったため、非常に苦労しました。
普段はスキル表を見せてもらうのですが、リリースまでに時間がなかったこと、また、ある業務に特化したプログラムでありこの会社がその業務に優れているため、あまり他社と比較することなく発注しました。
もちろん、発注前の段階ではある程度の業務知識を持っていることは確認しました。
※確認したのはプログラマとは別の方でしたが。。。

今後このようなことのないよう、事前にプログラマに対してヒアリングを行おうと考えているのですが、どのような質問をすれば、Java初級者と中級者の違いが判断できそうでしょうか。
こちらの立場はSIerで、企業の情報システム部のようなところが顧客になります。

なお、とりあえずSingletonについては質問してみようと思っています。
Singletonについてすっと説明できれば、クラスとインスタンス、アクセス権などはある程度理解できているのかなと。


他にも「こんなこと聞いてみれば?」というのがあれば、ぜひ教えてください。
Same
会議室デビュー日: 2004/11/05
投稿数: 8
お住まい・勤務地: 鹿児島
投稿日時: 2004-11-25 17:29
使ってるツールや環境について説明できれば、ある程度のレベルはあるのではないのかと思います。
IDEやJavaのバージョン、APIの違いなど。
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 17:31
こんなところでどうでしょうか。

・java.utilパッケージのライブラリを使いこなせますか?
・Tomcatって何ですか?
・Xercesって何ですか?
・継承と委譲について比較して論じてください。

影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-25 17:42
1. JAVA開発用IDEツールはどんなものを使ってみましたか?
  JBuilder, eclipse, Ant, CVSなど・・
2.JAVA関連最新情報はどこで取得しますか?
3.JAVAプロジェクト中自分で解決不可の問題が発生したら?
4.JDBC経験はありますか?DBとの連動など・・
5.知っているJAVA関係のフレームワークが有りますか?
6.GCに関して知っていることを言ってみてください。
7.SCJPとSCJDは何が違いますか?
8.JAVAプロジェクト中CVSを使ったことがありますか?
9.知っているデザインパタ-ンをいくつぐらい?必ず3個以上
10.UMLって何打と思いますか?

これぐらいの質問なら・・・
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-11-25 17:53
>ローカル変数とインスタンス変数の違いすらわからないレベルだったため

PGとして問題外でしょうね。

どの程度を中級者と言うか難しいですよね。
業務PGとして業務ロジックを問題なく記述できるレベルであれば、
デザインパターンに関する知識は不必要かもしれません。
(でもSingletonに関する質問はいいと思います)

質問するのであれば、実際に作業するアーキテクチャに関する質問が
一番いい質問になるのかなと思いますよ。
アプレットの案件でEJBだけバリバリの人が来ても困るでしょうし。

私の場合は最初から「ダメダメなPG」が来てもいいように、
ある程度雛型みたいなのを用意しておいて、
それをベースに作ってもらうようにしています。
此方の協力会社がダメダメであっても
顧客にとっては全く関係のないことですから、
「保険」は必要かなと思っています。

愚痴になりますが、この前すごい人が派遣されて来ました。
コンピュータ言語についてはプロでしたが、
日本人なのに日本語がとても不自由(常にタメ口・挨拶なし)で苦労しました。。。
がちゃぴん
会議室デビュー日: 2002/02/06
投稿数: 19
お住まい・勤務地: 東京都・いろいろ
投稿日時: 2004-11-25 18:08
こんにちは、がちゃぴんです。
以前、WEBアプリケーションの開発時に増員することになり面接官を担当したことがあります。
プログラマーの技術レベルを重視して判断するのであれば、例に挙がっている「Singleton」等のように
技術的な質問をしてみることがよいと思います。

私の場合は、一般的なDBを使用したWEBアプリケーションを開発していたので、
技術面においては、面接時に以下のような質問をしていました。
なお、質問時には回答が「はい」で済むような質問をしないように心がけています。

 ・DBに接続する為のプログラムコードを記述できるか?
  (JDBCドライバを直接指定する方法とデータソースを使用する方法の両方を
   簡単に説明してもらう)
 ・サーブレットやHttpServletRequest、HttpSession等のJ2EEのAPIに関する
  理解と知識があり、使用したことがあるか?
  (どのようなAPIを使用したか聞く)

対象業務や求めるレベルに応じて質問の内容は様々になると思いますが、
実際に業務になると、技術レベルは求めるレベルに達していれば問題ないと思います。
それよりは、人柄や作業に対する姿勢、作業要領が大事になってくることが多く、
個人的には以下のポイント重点をおいています。
 ・報告や連絡をおこたらないこと
 ・自ら動いて仕事ができること
 ・問題意識を高く持ち、懸念点を放置しないこと

ちなみに、その時のプロジェクトでは、計50人程面接して、採用したのは3人でした。
うち納得で採用して技術レベルも高く、進んで仕事をする人は1人でした。
なかなか難しいです(ちょっと要求が高いかな)。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2004-11-25 18:25

私もたびたび技術者の面接に同席しますが。。。

1.技術者としての姿勢
 ・今興味のあること(技術、マネジメント、経営...なんでも)
 ・最近読んだ・読んでいる書籍
 等を聞いてみます。

 特に興味もなく言われた通りやってるだけ、とか全く本を読まない人は敬遠します。

2.本質の理解
 最近は開発のスタンダード化が進んで、経歴書だけみれば
 それなりのことを書いてることが多いですよね。

 ところが、いざ「Strutsを使ってみて長所・短所はなんでしたか?」みたいな
 質問をすると「よくわかりません」と言う回答がほとんどです。
 流行を追って基礎が出来ていない人も多いと思います。

 ですので、細かいことは聞きませんが、本質を理解しようとしているか
 が判断できるような質問をしてみます。

とまぁ偉そうな事を書いていますが、こんな感じです。
REQ
会議室デビュー日: 2004/11/25
投稿数: 3
投稿日時: 2004-11-25 19:16
皆様、大変貴重なご意見、ありがとうございます。
思ったよりも多数のご意見をいただいたので、それぞれの質問の意図について、こちらの理解を書くことは控えておきます。
ご意見はまだまだお待ちしております。

1点だけ質問したいことがございます。
引用:

かつのりさんの書き込み (2004-11-25 17:53) より:
私の場合は最初から「ダメダメなPG」が来てもいいように、
ある程度雛型みたいなのを用意しておいて、
それをベースに作ってもらうようにしています。


雛型を作っておいたけどそれなりにできる人が来た場合、プログラマのモチベーションが下がるなんてことはないでしょうか。できる人にとっては、SEにコーディングの細部まで口を出されるのは心外なのでは、と危惧しております。
また、もっと良い設計があった場合、それを潰してしまわないかという懸念もあります。プログラマからこちらの方が良いという提案があればもちろん喜んで受け入れるのですが、立場上言いづらいことも多いのかなと。

スキルアップ/キャリアアップ(JOB@IT)