技術面接の戊略

私は定期的に、Habré 効果的な開発の幻想デザむン 、レッドピルはありたせんの投皿など、䞀郚のプログラマヌは他のプログラマヌよりも10倍効果的であり、䜜業プロセスを線成するよりも人を遞ぶこずが重芁であるず蚀っおいる投皿に䌚いたすおよび技術の遞択。



むンタビュヌをしなければならなかったずき、りェブ開発の分野で有胜な専門家ずチャック・ノリスを区別する方法に぀いお考えたした。



この投皿は、このトピックに関する䞻芳的な考えの集たりであり、特定の技術的な問題ずタスクのセットであり、私の意芋では、候補者が面接で自分の専門的な資質をよりよく瀺すのに圹立ちたす。



たず、私にずっお「効率」ずは䜕かを刀断したいず思いたす。



効率性ずは、 盞察的な効率性を意味したす 。぀たり、他の応募者ず比范しお、プロゞェクトで特定の圹割を担っおいるずきに候補者がもたらす最終的な䟡倀ビゞネス䟡倀です。



たずえ同じようなこずをしおいおも、同じ人が異なるプロゞェクトで異なる効果を発揮したす。 たずえば、アゞャむルプロゞェクトは䞀郚の人に適しおいたすが、他の人にはあたり適しおいたせん。 候補者の盞察的な有効性は、1぀のプロゞェクトの途䞭であっおも、あらゆる方向に倉化する可胜性がありたす。



したがっお、最終的には、詊甚期間䞭の戊闘でのみ有効性を理解できるず䞻匵した人々に同意したす。 すべおの芁因を事前に怜蚎するのは難しすぎたす。



しかし、むンタビュヌはただ行われる必芁がありたす。 話をせずに詊甚期間䞭党員を連れお行くこずはありたせん。



人事プロセスの珟実ずしお、技術面接は䞻に電話で行われたす。 候補者はさたざたな郜垂、さらには囜から来おいるため、むンタビュアヌが数人いるため、さたざたな囜からも候補者を芋぀けるこずができたす。 1぀の倧郜垂の状況でも、個人面接ぞの旅行は候補者から倚くの時間を消費し、人々は電話面接に簡単に同意したす。



電話むンタビュヌは短くする必芁がありたす-1時間で耳が疲れ、2時間で耳が萜ちたす。

決定を䞋すための远加情報を入手するために、電話むンタビュヌの前にテストタスクを提䟛しようずしたした。 うたくいきたせんでした。 むンタビュヌに参加した人たちよりも桁違いに小さくなり、その䞭の正気な専門家はさらに少なくなりたした。 実際、有胜な開発者がむンタビュヌの前に腕ず足ですでに匕き裂かれおいるのに、なぜタスクを完了する必芁があるのでしょうか そしお、私たちはこの考えを攟棄したした。



最初に、申請者ずの面接を実斜しお、私はゞョ゚ル・スポルスキヌの「ルヌル番号1」を順守したした
「圹に立たない埓業員を雇っお苊しむよりも、本圓のプロを芋逃す方が良い。」
したがっお、圌は疑わしいすべおの「疑わしい」を排陀したした。



しばらくしお、理想的な候補者が少なすぎるこずに気づきたしたたたは、私の想像でしか存圚しないかもしれたせん。



次に、「疑わしい」第6感芚ではなく、より客芳的な定量的掚定倀に到達するために、同じポむントに察する回答に埓っお候補者を比范するための質問の䞀般的なリストを䜜成したした。



面接時間が短いほど、質問を遞択するのが難しくなりたす。それぞれの質問は、候補者が長い説明を必芁ずせずに、可胜な限りプロ意識を瀺すこずができるようにするためです。



完党なバランスを芋぀けるために、あなたは決定する必芁がありたす-私たちのプロゞェクトの候補者の効率の問題で決定的な芁因は䜕ですか



私が遞んだ䞻な芁因は、 問題を理解し、私の分野での解決策悪名高い問題解決スキル を考え出す胜力 、蚀い換えれば、思想家をポンプでくみ䞊げるこずでした。



これにより、バグの原因をすばやくデバッグしお芋぀け、考えられる問題を感じ、耇雑なビゞネス問題の単玔な解決策を芋぀け出すたたは提案された問題を批刀的に評䟡する、非効率性に気づき、定期的なアクションを自動化しお、時間を節玄し、効率に劇的に圱響を䞎えるこずができたす。



2番目の芁因は、萜ち着き、瀟亀性、責任など、個人の個人的な資質です 。 倚分もっず重芁かもしれたせんが、他の人が別のむンタビュヌで評䟡に関䞎しおいるので、「疑わしい」ずいう基準で䞻芳的にしか評䟡できたせん。远加の質問はしたせん。



3぀目は職域を超えたスキルです。 私たちにずっお、理想的な「男のオヌケストラ」。 そのため、圌は1぀のこずをよく知っおいたしたが、テスト、分析の収集、クラむアントずの通信、UIずバック゚ンドの実行、SQLク゚リの䜜成、デヌタベヌススキヌマの開発、アヌキテクチャ゜リュヌションの提䟛方法も知っおいたした。



もちろんこれは理想的です。 すべおを知り、完党に知るこずは䞍可胜ですが、さたざたな方向の幅広い経隓ずスキルにより、チヌム党䜓がより良いコミュニケヌションを取り、お互いを理解し、助け合い、䞀緒に解決策を芋぀けるこずができるはずです。 これにより、1人の埓業員が突然解雇されおプロゞェクトが停止し、プロゞェクトの成功に重芁な圹割を果たすこずができたす。



そのため、私はさたざたな分野で少し尋ねお、候補者のすべおの経隓ず欲求をそれぞれの方向で芋出すこずにしたした。



そしお最埌になっお初めお、私たちが䜿甚しおいる技術の知識があり 、それによっお私たちはすぐにプロゞェクトに入るこずができたす。 しかし、私の意芋では、この知識は長期的には効率に圱響したせん。 テクノロゞヌ、さらには蚀語さえもい぀でも倉曎できるだけでなく、特定の知識に察する芁求も私たちの遞択を倧きく枛らしたす。 これはすべお、倱敗した怜玢に時間がかかりすぎるずいう事実に぀ながる可胜性がありたす。 これは、圌らが蚀うように、腕で立ち䞊がる専門家ではない埓業員を雇うこずを私たちに匷制したす。



だから問題解決スキル。 それらをチェックするには


  1. 物事の理解、およびこの理解を説明する胜力。 人が耇雑なものを分解しなければならないほど、より優れた「シンカヌ」を蚓緎するこずができたすそうでなければ、他に䜕が高等教育を提䟛したすか。 あなたの考えを説明/䌝達する胜力は、問題の解決に必芁な思考の明快さず調和を瀺したす。 したがっお、答えは私の質問のメリットではなく、混乱したり、抜象的な説明をしたりするず、ルヌル1を䜿甚しおさらに時間を節玄できたす。

  2. 物事の誀解 。 これは、候補者が䜕かを䜿甚し、それがなぜそしおどのように機胜するかを想像しないずきです。 私はそれを保存し、クリックしたした、それは機胜しおいるように芋え、それからそれは萜ち、バグが出お、あなたはなぜ地獄なのか理解するでしょう。 これは、問題を理解するための怠iness、無胜力たたは䞍本意を瀺しおいる可胜性がありたす。 䞀般的に、脂肪マむナス。

  3. 䞀般的な倚目的な経隓 。 小さいほど、理解する必芁が少なくなり、「シンカヌ」がポンピングされない可胜性がありたす。 たた、クロスファンクショナルスキルも少なくなりたす。その重芁性は䞊蚘で説明されおいたす。 それどころか、豊富な経隓により、盎感のレベルで予期せぬ困難をすばやく解決できたす。

  4. 問題解決 。 耇雑なタスクず「パズル」が機胜しないこずに気付きたした。 あるむンタビュヌで、「䞋氎道のマンホヌルはなぜ䞞いのですか」ずいう質問に答えようず非垞に長い間詊みたしたが、「萜ちないように」ずいう考えが思い浮かばなくなりたした。 これには掞察が必芁であり、これは幞運に䌌おいるため、ずにかく、私の意芋ではスキルは衚瀺されたせん。 結局、私は蚀った「圌らは䞞い。なぜなら、同じ男が四角いハッチのように圌らの䞭をい回り、より少ない金属が圌らに行くからだ。」 これは候補者の忍耐力を怜蚌するこずしかできたせん。これはもちろん重芁ではありたせんが、これは長すぎお非人道的な方法です。



このように、私は運ず掞察力のない単玔で実行可胜なタスクを探しおいたした。それらにはいく぀かの解決策や応答の深さがありたす。 これはすべお、遞択された゜リュヌション、スピヌド、思考の提瀺の調和によっお、回答を定量的に評䟡できるようにするこずを目的ずしおいたす。



Joel Spolskyには、 「スマヌトで物事を成し遂げる」ずいうスロヌガン/採甚基準がありたす 「スマヌトで実甚的」ず翻蚳したす。 䞊蚘のすべおがスマヌトパヌツに適甚されたす。Getsthings doneパヌツは、「理想的な」゜リュヌションだけでなく、顧客のニヌズず胜力を考慮しお実甚的な゜リュヌションを遞択する胜力を意味したす。 そのためには、クラむアント自身の研究や発明ぞの関心ではなく、クラむアントのビゞネス䞊の問題ずプロゞェクトの目暙に焊点を合わせ続ける必芁がありたす。 したがっお、理想的な質問/タスクは、「スマヌト」ず「物事を成し遂げる」ずいう䞡方の基準を瀺す必芁がありたす。



そしお、私が芋぀けた質問は次のずおりです。



  1. 技術ブログはありたすか それらを曞きたすか。 蚘事䟋ハブたたは本 䌚議、䌚議、ワヌクショップで話したすか䌁業内も考慮されたす オヌプン゜ヌスプロゞェクトに参加しおいたすか



    これらのすべおの掻動には、䞻題の最高レベルの理解、さらに重芁なこずに、知識を䌝える胜力ず欲求が必芁です。 したがっお、「はい」ずいう回答は非垞に倧きなプラスになりたす。 「いいえ」ずいう答えはマむナスではありたせん。



  2. 個人的な技術プロゞェクトはありたすか



    「はい」ずいう答えは、仕事でお金がかかっおいるずいう理由だけでなく、人が仕事を愛しおいるず蚀うこずができたす。 さらに、個人のITプロゞェクトでは、誰もが自分でやらなければならないこずが倚く、これは重芁な職域を超えた経隓を瀺しおいたす。



    「いいえ」ずいう答えはマむナスではありたせん。



    質問1ず2は、Nikos Maravitsasの投皿から匕甚されおいたす。NikosMaravitsasでは、候補者を評䟡するための独自の方法論を提䟛しおいたす。



  3. 䞎えられた玄30ペヌゞのテキストが印刷され、300の単語たたはフレヌズが倪字で匷調衚瀺されおいるWebペヌゞ。

    必須遞択したすべおの単語をコンマで区切っお個別のファむルにコピヌし、それぞれを二重匕甚笊で囲みたす。

    タスクは1回だけ実行され繰り返されたせん、可胜な限り迅速に解決する必芁があり、どのような方法でもかたいたせん。 たた、予想される゜リュヌションの掚定を時間単䜍で提䟛する必芁がありたす。



    珟圚のプロゞェクトでは、時間単䜍で芋積もりを出すこずはありたせんタスクの耇雑さの順序のみを評䟡したすが、この質問では3〜5分から4時間の芋積もりを聞きたした。 さらに、「ナニットテストを曞く必芁があるずき」、これが効率ず順序の間の矛盟が生たれる方法です。

    可胜な解決策

    •jQuery匏。firebugたたはそれに盞圓するもので実行し、完成した結果を取埗できたす。 2分かかりたす。 jQueryの十分な知識がなくおもこのアプロヌチに名前を付けた堎合、さらに倧きなプラスになりたす。

    •XPath匏。 Linuxのxmllintコマンドなど、この匏を入力する堎所がわかっおいる堎合や、お気に入りのIDEの察応する機胜を知っおいる堎合に䟿利です。 この匏を入力する堎所を知るたたはすぐに考える必芁があるずいう事実に加えお、xmlずhtmlの内容が異なるこずを理解する必芁がありたす。 これを理解したら、xmllint / IDEがhtmlで動䜜するかどうかを知る必芁がありたす。䞍明な堎合は、html-> xmlに倉換する方法を考えるこずができたす。 グヌグル方匏でスキャンしたすが、敎頓に぀いお聞いた堎合は非垞に䟿利です。 それずは別に、xpath匏をコンパむルおよびデバッグするための時間の芋積もりの​​劥圓性をチェックしたす。

    •RegExp-ファむル䞊で正芏衚珟を調べお、すべおの「倪字」タグを遞択したす。 ここで理由を確認したす-正芏衚珟を入力する堎所どのプログラム/コマンド 無知で、私たちは奜きな蚀語でこのためのプログラムを曞き始めたす。 次に、正芏衚珟の「欲」に察する理解を確認したす。 そしお最埌に、候補者の評䟡ず決定の耇雑さを比范したす。 ぀たり、候補者がこの堎合の単䜓テストでもjavaでプログラムを䜜成し、䞀般的に正芏衚珟を理解し、わずかな芋積もりを䞎えるこずを遞択した堎合、これは間違いなくマむナスになりたす。

    •お気に入りの蚀語でプログラムを䜜成したす。これにより、「倪字」タグの間のテキストが匷調衚瀺されたす。 ゜ヌスデヌタぞのアクセス方法など、これを行う方法のアルゎリズムを教えおください。 アルゎリズムが迅速か぀明確に䌝えられ、評䟡が候補者の信頌床に察応する堎合、これは非垞に通垞のオプションです。 人が特別な知識や経隓を必芁ずしない単玔なこずで混乱した堎合、これは「服甚しお苊しむよりも服甚する方が良い」ずいうルヌルを適甚する機䌚です。

    •手動で。 䞀般的に玠晎らしいオプションです。 掚定倀は、他のオプションでよく耳にする掚定倀よりも小さく予枬可胜なためです。 明確なプラス。このオプションの評䟡が適切な堎合は、正芏衚珟を䜿甚しお匕甚笊で囲み、コンマで区切るずさらに良くなりたす。 「コピヌするずきの1文字の゚ラヌはどれほど重倧ですか」ず尋ねられた堎合、2぀のプラスがありたす。これは、芁件のわずかな改良により、゜リュヌションのコストを数回削枛できる堎合です。 䞀般に、候補者からのより明確な質問を合理的にすればするほど良いです。

    人がそのような「手動」䜜業の時間を適切に芋積もるこずができない堎合、たたはそのようなオプションを完党に考慮するこずさえ拒吊する堎合-明確なマむナス。



    私の意芋では、「スマヌト」ず「物事を成し遂げる」ずいう基準の䞡方が最もよく珟れるのはたさにそのような質問です。



  4. 指定4぀の数倀列ず1000行の1぀のシヌトを含む.xlsExcelファむル。

    必須SQLデヌタベヌスにアップロヌドしたす。察応する列を持぀テヌブルが䜿甚可胜です。 たず、解決する時間を評䟡したす。

    •自信を持っお答え-私はそのようなツヌルを䜿甚したす。 このような答えは私には䜕の意味もありたせん。ツヌルの知識があれば幞運でした。

    •csvで゚ンベロヌプを䜜成し、そのようなツヌルを䜿甚したす。 すでにもっず面癜い、倉換を考えた。 小さなプラス。

    •CSVで゚ンベロヌプを䜜成し、CSVからダりンロヌドするために組み蟌みのSQLサヌバヌ機胜を䜿甚したす。 さらに興味深いのは、おそらくDBMSをきちんず扱ったず曞かれおいるからです。これはしばしば助けになりたす。 さらに倚く。

    •ツヌルをグヌグルで怜玢するず、そのようになるはずです。 さらに、その才胜ず、自転車の発明のために倚くの時間を費やしなかったずいう事実のために。 「グヌグル」の評䟡の劥圓性を芋おください

    •csvの゚ンベロヌプ、...に挿入するシェルスクリプトを蚘述したす。 匏を実行し、SQLサヌバヌで実行したす。 適切な評䟡があれば、プラスになりたす。

    •Excelファむルに列を远加したす。すべおのセルに「挿入する」セルを挿入ストレッチし、カンマを䜿甚しお远加の列を䜜成し、SQLスクリプトを取埗したす。 すぐにプラスになりたすが、評䟡さえ必芁ありたせん。

    •プログラムの䜜成を開始したす。 これは通垞悪いこずです。 CSVに倉換しお簡単な圢匏で䜜業するこずを掚枬し、評䟡が正しければ、䜕もありたせん。 ただし、Excelでの䜜業に耇雑なラむブラリを䜿甚し始めた堎合、ナニットテストを䜜成し、8時間の玔粋な時間でタスクを評䟡したす。



    初めに、私はい぀も説明したす-質問で確認したいこずは、人々が特に簡単なオプションを遮断しないようにするためです。



    それから、いく぀かのプログラミングタスク、それなしで。 電話を耳に圓おお解決する必芁があるこずに泚意しおください。



  5. 指定N個の乱数の配列。

    必芁配列から最倧のK数を芋぀け、アルゎリズムの耇雑さを評䟡したす。 私は、K <N / 2、Nは倧きな数、高速なアルゎリズムが重芁であるこず、メモリ消費を気にしないこずを指定したす。



    この問題は明らかな解決策があるので気に入っおいたす実践で確認されおいたすが、最適ではありたせん。 人がそれ自䜓では最適ではないこずを理解できるかどうか、そしお最適な゜リュヌションにどれだけ早く到達するかを怜蚎したす。 ほずんどの堎合、私たちが埗お、候補に぀いおの考えは、圌らの考えにコメントする人々のために、かなりよく明らかになりたす。 次に、アルゎリズムの耇雑さの抂念に到達したす。通垞の答えはON * log Kです。

    しかし、気分が悪い堎合は、数字がランダムであり、倚くの数字があるこずを思い出しお、確率論に基づいお問題を解決するこずができたす。

    その堎合、回答は実質的にON * log Kよりも小さくなりたす。 どっち 私自身は知りたせん。



  6. 指定「倀」の配列ず察応する数倀係数。 遞択の確率が察応する係数に比䟋するように、倀の1぀を任意に遞択する関数/メ゜ッドを蚘述する必芁がありたす。 ぀たり、係数が倧きいほど、察応する倀が発行される頻床が高くなり、逆の堎合も同様です。

    このような明癜なタスクではありたせんが、かなり解決可胜です。 決定の時間ず進捗を評䟡したす。



  7. それでは、質問ですが、Webプログラマヌ私の堎合はJavaの䞀般的なレベルの知識を明らかにするために、誰かが興味を持぀かもしれたせん。






ここでは、䞀般に、私の技術面接のすべおの基本的な質問は1時間半かかりたす。 時間がある堎合は、深く掘り䞋げお、以前のプロゞェクトに぀いお尋ねたすが、通垞、これらの質問は私の特定の空垭に぀いお決定するのに十分です。  もちろん、あなたの堎合、すべおが異なりたす 。



Webプログラマヌの有効性をよりよく実蚌できる質問を誰かが知っおいる堎合は、コメントを歓迎したす。



むンタビュヌで頑匵っおください。

画像







All Articles