DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

なぜか面接をする側になっていた。


          ____
     ∧,,∧   ||:::::::::::||   ・・・
    ミ;゚Д゚ミ .||:::::::::::||   
    ミ   つ二二lニl且~~   
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴   


なんだかよくわかりませんが、
フリーランスの自分も、なぜか採用面接をする機会があったりしまして.....

されるんじゃないよ。する方ですよ。
そういうのとはご縁がまったくさっぱりないものかと思っておりましたが、

社会のゆがみと宇宙空間のねじれの狭間でそのようなことが起きるようです。

仕事を受けて、そして、お客様に俺一人だけで投入され、で結果は出すものの
人手は足りないので、増援申請することになったりしたら、自分と一緒に組む人、最も望まれる人物を俺が面接するみたいな事になっていくみたいです。

宇宙のゆがみを経験しますね。

もう、これは傭兵の世界なのではないかと。
戦い、そして、生き残るのはなかなか大変でごじゃりまする。

ということで、
天才ジョエルさんの所を参考にしてみましょう。




採用面接ゲリラガイド(version 3.0) - The Joel on Software Translation Project
http://local.joelonsoftware.com/mediawiki/index.php/%E6%8E%A1%E7%94%A8%E9%9D%A2%E6%8E%A5%E3%82%B2%E3%83%AA%E3%83%A9%E3%82%AC%E3%82%A4%E3%83%89(version_3.0)

を、改めて読みました。

おっと、サーバーが落ちてますね。こちらがいいね。

Joel on Software - ゲリラ的雇用面接のすすめ
http://japanese.joelonsoftware.com/Articles/Interviewing.html



とても勉強になります。

探すべきなのは、本物のプロ。
次の点を注意することが大事なのね。
1. 頭が良く
2. 物事を成し遂げる能力があるかどうか。

面接の流れは次の通り。
1. イントロダクション
2. 候補者がやった最近のプロジェクトについての質問
3. 簡単なプログラミングの質問
4. ポインタ/再帰の質問
5. 答えに満足しているか?
6. 質問は?

さて、これを参考にして次のように応用してみました。
自分用のメモをとっておきます。

1. イントロ
この案件の内容紹介をして、自己紹介してみる。

2. 最近のプロジェクトについて教えてもらう。
情熱を探す。情熱的に否定的でもOK。やる気がないのが最もだめ。
自分がやっていることに関心がなければよくない。
自分だけ理解しているような言葉をずっと使うようではだめ。
リーダーシップの兆候を探る。つまり自分が主導権を握って何かを成し遂げた出来事を聞けたらいい。

3. 簡単なプログラミングの質問
こんな感じで聞いてみるかな。

・ 2バイト=16bit=0~65536の数値配列を
1バイトの数値配列に、丸め込むにはどうしたらいい?

・ エディタのプラグインを開発しているとして
同一ファイル名の他のファイルを開く機能を作りたいと思いました。
同一フォルダにあるファイルの一覧を取得して
Main.vb
Main.xaml.vb
Main.xaml
この3つのどれか開いているとして
ボタンクリックで次のMainファイルを開くにはどうしたらいい?

・ Value1Test
Value10Test
Value2Test
これを、数値番号順に並び替えるには?
※ いじわるなことにValue1ab2Test
というのも入る可能性がある
V01-5ActiveTest も入るかも。


4. ポインタ/再帰の質問
C++のポインタ独特の処理については俺のほうがイマイチ自信がないから
再帰系にしてみよう。
また、その他のプログラミング的な質問も織り交ぜてみようか。

> ・ ファイル/フォルダのリストアップ時に子フォルダに入っているファイルを全て列挙するには?
> 特定のファイル名のものだけを見つけたい場合
> 一覧に出力するために時間がかかりすぎる場合に高速化するにはどうしたらいい?
イベント発生か無名メソッド呼出の方式で再帰関数が作れるかどうか。

> ・ コントロールがパネルコンテナなどに載っている場合
> フォーム上のすべてのコントロールのボタンコントロールだけ
> EnabledをFalseにしたい場合はどのようにコードを書くか。
普通に再帰ができるかを再度聞いてみる。

> ・ C++文字列における後方サーチの問題を解消するためには
> どのようにするのが望ましい?
> 自分で文字列クラスを作るとしたら?
C++系の実務経験と、どの程度のスキルかを測る
すごく長い文字列に対する理解について何が問題になるかについて
理解しているかどうかを問う

> ・ 文字列を置き換える為の関数を汎用的に作るには
> どのような方法があるか?
汎用化に対する理解を問う。
ABCをBCD変換する時の設定などが見抜けるかどうか。

> ・ リストにおけるIndexOf
> サーチの実装を汎用的に行うには?
> 何が汎用的であるべきか?その実現方法は?
汎用化に対する理解。

> ・ 汎用化、再利用性についての理解は?
自信をもってこたえられるかどうかを見る。

> ・ 正規表現について、どう感じる?
普通は嫌いだと思うけど…
可読性が落ちる問題について、理解できるかどうか。

> ・ 例外処理を使ったプログラミングについては?
例外の問題点を話して、理解してもらえるかどうか...

> ・ リファクタリングについては?
普通にやっていてもらわないと困る。

> ・ MVCモデルについての、見解は?
GUIの実装についての情熱があるかどうかを確認してみよう。

> ・ スレッドとスレッドプールについての見解は?
理解していなくても大丈夫だが、答えにくい質問として用意しておく。

> ・ ユニットテストについての理解は?
プログラミング上重要なアプローチということについて、知っているかどうか。

例えば、文字列処理関数に対して、ヌル文字列を与えて
動作結果を見るという実装をすることについて理解しておいて欲しいな。

任意桁数で、四捨五入するコードを、間違いなく実装する方法は?

相対パスから絶対パスを求めるコードを書く際に、行えるアプローチは?

などなどユニットテスト系の質問は応用が利かせられそう。


> ・ 迷路問題を解く方法とアプローチは?
実現可能性を問う。物事をやり抜く力があるかどうか。

> ・ メールアドレステキストは「<"指名"> a@b.com」という形式だけど
> セミコロンで分割された複数のメールアドレスから
> どのようにしてメールアドレスを取得するようなクラス設計をするか
クラス設計が普通にできるかどうかを見抜く。

5. 答えに満足しているか?
満足できる答えじゃなかった時に
そのことについて、正しく自分で認識できているかを問う
焦って答えられない場合も多々あるだろうし。

6. 質問は?
質問がなくてもOK


ここまでハードな内容をこたえられる人ならば、
きっと、何もかも任せて大丈夫と思う。


          ____
     ∧,,∧   ||:::::::::::||   オレモ イイネンレイニ
    ミ;゚Д゚ミ .||:::::::::::||   ナッタッテ コトカイネ?
    ミ   つ二二lニl且~~   
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴   


スポンサーサイト

| 未分類 | 12:44 | comments:0 | trackbacks(-) | TOP↑

COMMENT















非公開コメント

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。