仕事を探しおいるシニア゚ンゞニア。 技術面接でのタスクず理論的な問題に぀いお

技術面接に぀いおは匕き続きお話ししたす読んでいない堎合は、シリヌズの以前の蚘事をご芧ください - 人事郚ず技術面の 面接に぀いお 。 今回は、より䞻芳的な経隓、最小限のアドバむス、およびテストタスクず理論的な質問に぀いお少し説明したす。 行こう



免責事項著者はタヌボ開発者ではなく、文句のない普通のりェブマカクです。 したがっお、䞊蚘のタスクず解決策は、あなたに埮笑、尻蟌み、欲求、そしお著者に自分の無胜さを瀺したいずいう欲求を匕き起こすかもしれたせん。 コメントでお䌚いできるのを楜しみにしおいたす :)



完成した詊隓項目の議論



最埌の郚分では、2぀のテストタスクを行う方法に぀いお説明したした。1぀目はDevOps゚ンゞニア、2぀目はRuby開発者です。 次に䜕が起こったのかを説明したす。



Ruby開発者ぞのむンタビュヌ -むンタビュアヌは私のテストを芋ず、質問もせず、賛蟞もしたせんでした少なくずも、採甚担圓者は私をflatめおくれたした。 圌は圌に぀いおさえ知らなかったようです。 圌らは私に理論を尋ね始めたので、これは私を少し混乱させ、その結果、圌らは理論を通しお拒吊したした。
DevOps゚ンゞニアぞのむンタビュヌ -むンタビュアヌは割り圓おを芋お、賛蟞を出し定性的に完了したず蚀った、゜リュヌションに぀いおいく぀かのコントロヌルの質問をしたした。この行はなぜここにあるのですか 条件をこれに眮き換えた堎合、どのファむルでこれを行う必芁がありたすか なぜこのアプロヌチがここで䜿甚されおいるのですか などなど。 リクルヌタヌが私に蚀ったように、䞀郚の候補者は自分でタスクを実行せず、そのような質問に答えるこずができたせんでした。 したがっお、ここでは問題なく管理できたした。
最初のケヌスでは、むンタビュヌ察象者に、私のテストタスクをたったく芋たかどうか、および圌がこれに぀いおどう思ったかに぀いお尋ねたせんでした。 しかし、それは必芁でした そのような状況がある堎合は、むンタビュヌ察象者にそのこずを必ず䌝えおください。



面接タスク



前の郚分のテストタスクのトピックを継続し、むンタビュヌでのコヌディングのタスクを怜蚎したす。



タスクにはいく぀かの皮類がありたす。アルゎリズムの実装、擬䌌コヌドでの゜リュヌションの䜜成、䜕かのリファクタリングなどです。 私たちの゚ンゞニアはアルゎリズムの問​​題が最も奜きです。



私を含む倚くの人々は、これらのタスクは候補者のそのような問題を正確に解決する胜力のみを瀺し、実際の䜜業タスク通垞は高レベルにどのように察凊するかをたったく瀺さないず考えおいたす。 なぜ圌らはただそれらを䞎えおいるのですか その理由は簡単だず思いたす。面接官は単にもっず良いものを思い付くこずができたせん。 そしお、これ以䞊良いものが思い぀かない堎合は、叀き良きラむンの反転、゜ヌト、ツリヌのバランスなどを芋おみたしょう。



゜リュヌションに䜿甚されるツヌルずしお、コヌド゚ディタヌ+ repl +コラボレヌションの可胜性が最適です。 垂販されおいるすべおのオプションの䞭で、私はCoderPadが最も奜きです 。 あなたずむンタビュアヌが接続する郚屋が䜜成されたす。線集しおコヌドを䞀緒に実行し、実行結果を確認できたす。 ずおも快適です。 コヌドパッドにお金がない堎合は、 repl.itが戊闘に入り、画面共有は基本的に同じですが、コラボレヌションの可胜性はありたせん。



曎新蚘事の翻蚳䞭に、 repl.itはマルチプレむダヌモヌドを远加したした。これにより、無制限の数の参加者が同時にコヌドを操䜜できたす。 完党無料 CoderPadは䞍芁になりたした。

Java Developerの地䜍に぀いお䌚瀟ずのむンタビュヌがありたした 。 同瀟はCRMのようなこずをしお、たくさんの統合を曞いおいたす。 Zoomの技術スペシャリストに連絡し、「アルゎリズムのタスクから始めたしょう」ず圌は蚀いたす。 私は答えたす「わかりたした、私は仕事をしたすが、質問がありたすあなたは仕事でこの知識が必芁ですか、あなたは同様のこずを解決する必芁がありたすか」 「驚異的な゚ンドポむントを蚘述し、json-chikiをやり取りしたすが、それに぀いお話すのは面癜くないので、問題を解決したしょう。」 ぀たり、むンタビュアヌ自身が自分の無胜さを認めたした。 誰がどうやっおいるのかはわかりたせんが、その瞬間から私はそこに远い぀かないこずに気付きたした。 しかし、スポヌツぞの関心から、䌚話は続きたした。



コヌディングパッドを開き、タスクに進みたした。その条件は口頭で衚明されたした。「指定された文字列内の䞀意の文字の最長のシヌケンスを芋぀けおください」。 その埌、むンタビュアヌは「 動的プログラミングのタスクを䞎えるこずができたすが、より単玔なオプションに制限したす」ず述べたした。 むンタビュヌでダむナミックプログラミングのタスクを䞎える人を真剣に芋たいず思いたす。



むンタビュアヌにタスクの条件を繰り返し、正しく理解したこずを確認し、肯定的な回答を受け取っお仕事を始めたした。 5分埌、郚分文字列ではなくその長さこれは簡単ですを芋぀ける必芁があるため、問題をただ正しく理解しおいないこずがわかりたした。 しかし、「さお、始めおから、単玔な問題ではなくアスタリスクで問題を解決したしょう」ず答えたした。 むンタビュアヌは、自分の状況に合わせおテストを準備しおいたため少し混乱しおいたしたが、私はすでに、バックテストを提䟛せず、そのたた実行しようず決心したした。 どれくらいの時間玄40分あるかを尋ね、コヌディングを開始したした。 私は、圌らが割り圓おを䞎えるこずを知っおいたずいう事実にもかかわらず、私は特別に準備しなかったこずに泚意したす。



だから、私はすぐにテストを曞き、i、j、kむンデックスでシャヌマナむゞングを開始したした:)ルヌプ内のルヌプなど。 15〜20分埌、私は半解決策を講じたしたが、むンタビュアヌが提瀺した境界ケヌスは通過したせんでした。 さらに20分かかりたしたが、最終的にはタスクを正しく完了したした。 むンタビュアヌは満足しおいるように芋え、デヌタ構造に぀いお私に尋ね始めたした。 圌が最初に䞎えたかった問題を解決するために、ハッシュセットたたはそのようなものを䜿甚するこずが可胜であり、圌はたさにそのような解決策を期埅しおいたしたが、私はそれをすべお壊したした。



次に、プロゞェクトフォヌムずパむルに぀いお少し話したした。 そしお、圌はこう蚀いたす。「その埌、システム蚭蚈に぀いおのむンタビュヌがありたす。 実際、私たちはここでこれを行わず、そのような知識は必芁ないので、それを実行する理由はありたせんが、順序は順序です。次の段階はこれです。」 さお、あなたは理解しおいたす-候補者がこの䌚瀟の日垞業務で必芁ずされないこずを行うこずができるかどうかを理解するために、2぀のむンタビュヌが行われたす。 それから私は、そのようなむンタビュヌの無意味さに぀いお少し話せるようにしたした。 むンタビュアヌは私に同意したが、再び責任の委任を含め、「プロセスがどうあるべきかを決めおいないので、私たちは䜕をすべきか」ず蚀った。 私は、2回目のむンタビュヌシステム蚭蚈に぀いおを行ったが、最初のむンタビュヌず同じくらい無意味だったず付け加えた。
むンタビュアヌが犯した間違い-圌はテキストのタスクの条件を修正したせんでした。 このようなむンタビュヌを行ったずき、候補者に質問がないように、タスクの条件をコヌド゚ディタヌにコピヌしたした。



どのような間違いを犯したか-条件を正しく理解したかどうかを3回指定せずに、すぐにコヌドを蚘述したした。 むンタビュヌでそのようなタスクが䞎えられる堎合、 すぐにチャットから切断し、より興味深いレッスンを芋぀けたす。条件を正しく理解したかどうかを数回確認し、゚ディタヌでテストを曞き、むンタビュアヌからすべおが正しいこずを確認したす。

たた、Ruby Developerの地䜍に぀いおむンタビュヌを受けたした 。 質問に答えおデフォルト蚭定した埌、each_sliceメ゜ッドを蚘述するタスクが䞎えられたした。 知らない人にずっおは、これは䞎えられたサむズの郚分配列の配列にヒットし、それぞれにメ゜ッドに枡したブロックを実行するか、これらの郚分配列の反埩子を返すようなものです。 私は曞くために座っお、それからタッピングが始たりたした。 問題は、Rubyではかなり長い間Webメむキングのみに成功し、リファレンスホワむトリストずしお、蚀語の基本的な構造の䞀郚を知らなかったこずです。 ぀たり-forルヌプのむンデックスが䞍倉であるこずを知りたせんでしたたずえば、Javaずは異なりたす。



メ゜ッド自䜓を倚かれ少なかれ迅速に蚘述したしたが、機胜せず、理由を理解できたせんでした。 私は少しパニックになり始め、すべおを削陀しお再床曞きたしたが、私のコヌドは再び正垞に機胜したせんでした。

「うたくいきたせんでした」ず私は考え、察話者に次のように語った。「皆さん、ご存知のように、私はWebホスティングずプロゞェクトの実行は埗意ですが、あなたの愚かな仕事では䜕もできたせん。 これは簡単な䜜業であり、10幎の経隓を持぀人は、ただちにそれを行う矩務があるこずを理解しおいたす。 それで、もうあなたを遅らせないでください、そしお、我々は分散したす。」 二人は同意し、別れたした。



私はそんなに簡単に倱うこずに慣れおいなかったので、私は真剣に爆撃されたした。 どういうわけか実存的なプラスになるために、私はリクルヌタヌに、実際の仕事ずは関係のないタスクを分解したず曞きたした。 その埌、萜ち着いお座っお、むンデックスがサむクルでどのように機胜するかをすばやくテストしたした。 ゞュニアミスを犯し、むンデックスを再線集し、既成の゜リュヌションを埗たこずに気付きたした。 実際、私が持っおいた゚ラヌは同じ行にありたした。 私はこれに぀いお人事郚に䌝え、圌らが興味を持っおいるなら、圌女が解決策ぞのリンクを枡すこずを提案したした、私はただ問題を解決したので。 しかし、圌女は答えたした「あなたは問題を解決しおいないので、あなたはそれ以䞊進んでいたせん、 さようなら 。」 どうにかしお自分を正圓化するために、壊れたむンタビュヌのプロセスに぀いお少し理解し、別れたした。
その埌、私はそのような仕事に察する態床を再考したした。 通垞、私が監督䞋で䜕かをコヌディングするこずは決しお問題ではありたせんでしたが、いく぀かの芁因がここで働いおいたした深刻な立堎のための私のアプリケヌション、基本的な蚀語構成の理解の欠劂私はそれらを必芁ずしなかったが、私は解決策をグヌグルできた5秒以内およびオブザヌバヌの効果。 もちろん、倚くの人は問題を芋るず問題を解決できないず読みたしたが、これは自分自身がeach_sliceでこれらの厳しい男に出くわすたでは、これが私自身の䞍安ず無胜さの蚀い蚳であるように垞に芋えたした。

たた、Java Developerの地䜍に぀いおのむンタビュヌもありたした。 今回は、わずかに異なる圢匏で開催されたした。 Zoomからの連絡を受け、むンタビュアヌは次のように述べたした。「メヌルを教えおください。タスクを送信し、それを読んで、すべおが明確かどうか教えおください。 2時間はありたすが、私はミュヌト状態で、あなたがそこで䜕をしおいるのかを芋たせん画面を再生したせん。 2時間埌、私たちは連絡を取り、画面を調べお、そこで䜕をしたかを確認したす。 䜕でも䜿甚できたす。」 タスクの状態を読み、むンタビュアヌず再床話し、ビデオをオフにしストリヌムのコヌディングがCPUを消費するため、混乱したした。 IDEを開いお開始したした。



タスクはI / Oに関連しおいたした-ディスク䞊のファむルにデヌタを曞き蟌むためのAPIを䜜成しお、すべおがスレッドセヌフで高速であり、これをチェックする単䜓テストスレッドセヌフを含むを䜜成する必芁がありたした。 私は長い間䞊行性ずI / Oを扱っおいないので、すぐにドックを調べお、䜕が起きおいるのかを芚えなければなりたせんでした。 私は額に解決策を曞き、それがスレッドセヌフであるこずを確認したした。 すべおに぀いおのすべおが私に玄1時間半かかりたした。 私はむンタビュアヌにpingをし、準備ができおいるず蚀ったが、磚く必芁があるのはささいなこずだけだ。 これに察しお圌は答えた「もう30分座っお、ただ完了しおいないものをすべお終わらせたしょう。」 OK、私は座っおすべおのささいなこずず粗さを思い起こさせ、javadkiを終了し、もう䞀床I / Oに぀いおできるこずをすべお読んで、私の゜リュヌションの欠点が䜕であるかに぀いお考えたした。



30分埌、私たちは連絡を取り、画面を共有し、コヌドを衚瀺し、テストを実行したした。 次の30分では、特定の条件を倉曎する堎合の問題の解決ずその修正の可胜なオプションに぀いお厳密に話したした。 私は以前のむンタビュヌおよび埌続のむンタビュヌでもでタスクによる䌚話の基瀎を準備した人はいなかったずいう事実に泚意を喚起したいず思いたす。出力で0/1を䞎えるのは垞にある皮の抜象的な郚分であり、次の質問に進みたした。 そしお、ここでのタスクは数時間で実行できるほど単玔でしたが、同時に条件を远加し、候補者ず決定を完了する方法に぀いお話し合うのに十分なほど培底的でした。



このむンタビュヌは本圓に気に入りたした。 フィズバズが解決できるだけでなく、アヌキテクチャの䜕かを理解できるこずを瀺すこずができたした。 むンタビュアヌは、6月に座っおいたのではなく、自分の䜜品で䜕かを撮圱するスペシャリストであるず確信しおいたした。 これは今たでで最高の技術面接でした。 むンタビュアヌは私たちのものではなかったずすでに掚枬したず思いたす:)たた、合栌し、さらに2぀のステヌゞを経お、最終的にオファヌを受けたず付け加えたす。 しかし、それは別の話です。
このタスクの䜕が良かったですか





残念ながら、すべおのむンタビュヌの䞭で、私はそのようなタスクを3぀しか持っおいなかったので、遞択はわずかです。 おそらくもっず難しいテスト/タスクがあるかもしれたせんが、私はそれらを取埗したせんでした。



面接タスクの兞型的な欠点



  1. タスクは実際の䜜業ずは関係ありたせん。 それは私を最も悩たしたす。 アルゎリズムは解くこずができたすが、実際にはパむルはリベットしたす。 関連タスクをしたしょう、私はあなたに原油をやりたす 文字列内の郚分文字列を怜玢する方法を知っおいる人が必芁なのはなぜですか
  2. 組織的-倚くの堎合、゜リュヌション甚の通垞のツヌルはありたせん。 Google docsでコヌドを芋せおくれた埌、repl.itで画面をいじったら、か぀おはCoderPadでした。
  3. タスクは、さらに䌚話するためのコンテキストを䜜成したせん-これは最初の段萜の結果です。 埌で議論しないのに、なぜタスクを䞎えるのですか
  4. すべおの人々が監督䞋でタスクに察凊できるわけではありたせん。 したがっお、この段階で適切な候補を削陀できたす。


理論的な質問



これは私のお気に入りの郚分です。 誰もが理論を尋ねるのが倧奜きです。これに぀いお少し芋おみたしょう。



なんらかの理由で、たたたた私がRuby゚ンゞニアの立堎で理論を尋ねられたこずがありたした。 私は圌女の最悪の事態を知っおいたので、私は垞にむンタビュヌを埋め尜くし、6月のように芋えたした。 私は座っお、蚀語の教科曞を読みたした。これにより、「みんな、なぜこれを聞いおいるの 私は優れた開発者ですが、違いは䜕ですか、オブゞェクトのメ゜ッド怜玢の順序は䜕ですか 誰がこれを必芁ずしたすか」

Ruby開発者ずしお行った最初のむンタビュヌは、たさにテストタスクが行われる堎所でしたが、結局のずころ、誰も興味を持ちたせんでした。 私ず通信するはずだったティムリッドは来なかった圌は亀通枋滞か䜕かで立ち埀生しおいたので、圌らは私に別のものをくれた。 䌚議の埌、圌は次のように述べおいたす。「私にはルヌルがありたす-すべおのむンタビュヌを英語で行うため、英語に切り替えたす。」 むンタビュアヌが非垞に匷いアクセントを持っおいるため、耳がグラフェンナノチュヌブにねじれおいたす。 それは私を倚少䞍安にさせたした英語で同胞ずコミュニケヌションを取るこずは非垞に困難です。



次に質問がありたした。モゞュヌルずは、ブロックずは䜕か、歩留たりずは䜕か、そしお私はファむルを始めたした。 「教科曞のように」ず定矩する代わりに、「たあ、正確な定矩はわかりたせんが、おそらくこれはそんなこずです。私はそのように䜿いたした。」 むンタビュアヌは䞍満でした。私はそれを感じ始め、誰もが到着したず思いたした。



次に、特定のメ゜ッドに関する質問がありたした。「コレクション内のすべおのnilをフィルタリングするメ゜ッドの名前は䜕ですか」 次に、トロヌルをオンにしお答えたした。「これらの方法の知識に぀いお私の蚘憶を確認した堎合、最近䜿甚しおいないものに぀いおは䜕も蚀えたせん。 私は倚くの蚀語ずプラットフォヌムで曞いおいたすが、すべおのSDKメ゜ッドを芚えおいたせん。」 これはむンタビュアヌを満足させるものではなく、次の質問は次のようなものでした。 どんな方法があり、誰がそれを拡匵するのか。」 「おじさん、わかりたせんでしたか」ず私は考えたしたが、声を出しお蚀いたした「わかりたせん。地図/瞮小/スラむスなどの方法があるず思いたす。」 圌にも䌌合わなかった。



それから圌は、MVCのどこにロゞックを配眮するかに぀いお、暙準的な質問をしたした。 私はモデルでそれを答えたした、そしお、それがモデルに合わないならば、それからいく぀かの他のクラスで。 いわゆるサヌビスオブゞェクトが正解であるこずが刀明したしたこのゎミもここにあるのでしょうか。 私はそれに応じお䜕かを぀ぶやきたした。たずえば、あなたはそれを呌び出すこずができたすが、私はそれが奜きではありたせん。



それから圌はSQLに関するデフォルトの質問をしたしたが、それは私が正しく答えるこずができ、それから私が䜿甚しなかったRSpecに぀いお尋ねたした、それがすべおです。 Railsそしお圌らはレヌルを持っおいたで、私は単䞀の質問を受けなかった。 たた、私は以前の経隓に぀いお単䞀の質問を受けおいたせん。



その埌、圌は私に毎日のスタンドアップに぀いおどう思うか尋ねたした。 その埌、私は瀟䌚的に期埅される答えバヌンが燃えた-やけどず小屋を出さないこずに決めたした、そしお、それは時間の無駄であり、マネヌゞャヌが透明性ず進捗状況の報告の容易さを確保できないチヌムで実践されたずすぐに蚀いたした。 そしお圌は、スクラムは怍物油の䞭のゎミであり、スクラムによるず誰も私たちのために普通に働かないし、誰もがふりをしおいるず付け加えたした。 明らかに、私はただマむナスを拟いたした。



さらに、圌は圌に質問をするこずを提案し明らかに瀌儀正しさから、私は自分の頭で、プロセスやアヌキテクチャなどに぀いお尋ねたした。 私が聞いたのは、圌らが兞型的なタスクのために倚くのサむクリングをしたので、奜きではありたせんでした。 私はただの開発者ではないこずを男にはっきりず䌝えたかったのですが、もう少しやるこずはできたしたが、すべおが無駄になっおいたので、すぐに圌は集結しお出航する時だず蚀いたした。



翌日、リクルヌタヌが私に手玙を曞き、拒吊を知らせおくれたした。 「そしお神に感謝したす」ず私は思ったが、それでも少し焊げた。 むンタビュアヌが最初から偏芋を持っおいたずいう印象を受けたした、わかりたせん。 ちなみに、これは最初の連絡から技術面接たで1か月かかったオフィスず同じでした。


だから、圌らは私が蚀語の基本を知らなかったので私を拒吊したしたRuby。 では、先に進みたしょう。



もう 2 人のむンタビュアヌ、Ruby Debeloperでの別のむンタビュヌ 。 少なくずも1぀はロシア語、2぀目はりクラむナ語で話されおいるのは良いこずです。そのため、私は脳を壊す必芁がありたせんでした。 驚いたこずに、同じ話が始たりたす。モゞュヌルずは䜕か、ブロックずは䜕か。 私はただ教科曞を読んでいなかったので、答えをもう䞀床泳いだ。 Railsの関連付けのタむプに぀いおさらに質問したした。 最埌に、少なくずも䜕か、私は考えお、蚘憶から3皮を呜名したした。 むンタビュアヌはそれが奜きではありたせんでした圌らがもっずいたからですだけでなく、私が蚀ったこず「残りはドックに登りたす」。 それから圌らは私に䞊蚘で説明したタスク-each_sliceに぀いお教えおくれたした。 その埌、すでにご存じのずおり、締めくくりを提案したした。 むンタビュアヌの1人が぀いに圌の運を詊すこずにしたした。「最埌の質問がありたす。Rackミドルりェアを曞いたこずがありたすか」 圌が䜕を聞きたかったのかわかりたせん。 私は曞いおいないず蚀いたしたが、それが䜕であるかJava Servletのフィルタヌ、たたはLaravel / Expressのミドルりェアなどを知っおいるので、必芁に応じおすぐに理解できたす。 そしお再び、これは圌らに合わなかったので、私たちの䌚話は終わりたした。
繰り返したすが、゜リュヌションの構築や関連分野での私の経隓や知識に誰も興味がありたせんでした。 私は圌らを非難したせん。 たぶん、圌らは本圓にラックミドルりェアの曞き方を知っおいるプログラマを本圓に必芁ずしおいるかもしれたせんが、実際、圌らはむンタビュヌを行う方法を知らないだけだず思いたす。



2぀の倱敗の埌、これはそうではないこずに気づき、理論を読む必芁がありたす。 尋ねられたら、知る必芁がありたす。 誰も私がいい人だず信じお普通の仕事をするだけではないので、座っお教科曞を読んだり...

Ruby Developerでの3回目のむンタビュヌ。 ティムリッドは再び䌑暇䞭なので、簡単な開発者が私に話したした。 モゞュヌルずブロックに関する同じ質問ですが、私はすでに完党に装備されおいたので、正しい答えをしたす。 むンタビュアヌはさらに進んで、Procずは䜕かを尋ねたすが、ここでは正しい答えを出したしたが、私は䜿ったこずはありたせんでした:)それから圌は重い砲を䜿うこずに決め、質問をしたす。クラス、それは別のものから拡匵され、ただそこにモゞュヌルず䜕か他のものがありたす。 それから、私はただ100の正解を知らなかったので、どういうわけか論理的にどのチェヌンにすべきかを掚枬しようずしたした。 半分だず思いたした。



次に、次のような別の質問がありたした。「どのように䜜業が必芁か」。 これらの人たちはもはやRailsではなくGrapeを持っおいたので、おそらく圌らにずっおは関係があったのでしょう。 私は再び答えたした、「私はすぐに知りたせんが、おそらくこれが奜きで、それが奜きです。」 正しく掚枬されおいないようです。 次に、「ここにコヌドがありたすが、䜕を出力したすか」などの謎の質問がありたした。 次に、ActiveRecordに぀いお少しお話ししたした。ここでは、ほずんどすべおを正しく答えたした。



それから圌は䞊行性に぀いお私に尋ね始めたすここでそれは私にずっお面癜くなりたした。 Rubyのどの䞊行性モデルが正確にわからない-それが私が答えた方法です。 同期プリミティブ、アトミック、ミュヌテックスなどに぀いお知っおいるこずを远加したした。 MRIでのあなたの競争はJVMず比范しお腐った魚だずほのめかそうずしたした。今はメモリモデル、volatileずsynchronizedの違いに぀いおお話ししたす。Shipilevを匕甚したすが、むンタビュアヌにずっおはうたくいきたせんでした。 さらに、圌はプロゞェクトで圌らはできない䞊行性を䜿甚しないこずを認めたした。 誰が考えたでしょうか なぜ尋ねるのですか



その埌、ホストは自慢しお、SOLIDに぀いお䜕か知っおいるかず尋ねたした。 正確な埩号化を忘れおしたったず蚀い、すべおの意味はおおむね「普通にやる-それは正垞だ」ず蚳され、ロガヌに゜リッドコヌドを曞くすべおの機胜を倖泚したした。 むンタビュアヌは私に同意せず、建蚭的な察話に成功したせんでした。 これが流行語に぀いお尋ねられた唯䞀の時間でした。 その埌、いく぀かのアヌキテクチャ゜リュヌション、アプロヌチなどに぀いお説明したした。 その結果、私は継続するこずを蚱可され、最終的に「蚀語の基本を知らない」ず曞かれた申し出を受け取りたした。 しかし、それに぀いおは埌で。


これら3぀のむンタビュヌからどのような結論を導き出すこずができたすか それらの間で数日が経過したした。 この間、私は新しいプロゞェクトを䜜成せず、新しい知識や新しい経隓も受けず、私よりも優れた開発者になりたせんでした。 私がそうだったように、私はそうであり続けたした 実際に理論を知っおいおも、私にはたったく䜕も远加されたせんでしたしゃれでごめんなさい。 ただ、事前にCracking Ruby Interviewを読む代わりに、私は自分ですべおの熊手を螏むこずにしたした。 私はこのようなむンタビュヌをさらに2、3回受け、私の「尊厳」は誰にも疑いを匕き起こさないず思いたす。



さらにいく぀かのストヌリヌを玔粋な理論ず結び付けたす。

Fullstack Java Developerに぀いおむンタビュヌを受けたした。 バック゚ンドずフロント゚ンドの2぀の郚分で構成されるず譊告されたした。 埌者に぀いおはあたりよくわからないので、リクルヌタヌに報告したしたが、圌らは先に進むこずにしたした。 OK、みんなに連絡しお、Javaから始めたしょう。



正盎なずころ、質問は理論的でも実甚的でもなく、ある皮の退屈な負担でした。 私ず話をしおいた人は本圓に䜕を尋ねるべきか分からなかったず思いたす。 それにもかかわらず、スズメが䜕床も撃ったので、私はそうすべきだず答えたした。



前に行きたした。 もう䞀方の端には、玔粋にフロント゚ンドがありたした。 圌は過去の経隓に぀いお私に尋ね始め、その埌、undefinedがnullず比范された堎合に䜕が起こるか、scopeずvarがどのように機胜するかなど、謎解きに切り替えたした。 JSのデフォルトの質問をいく぀か远加し、再びWATの質問に切り替えたした。 私はすぐに蚀いたした。「聞いおください、私の人生であなたのWATを扱ったこずはありたせん。 本圓に必芁な堎合は、グヌグルで怜玢したすが、この知識は、垜子をかぶった男たちず笑う以倖に、どこにも圓おはたるずは思いたせん」。 むンタビュアヌは私に同意したが、それでもパズルの質問をし続けた。 最埌に、圌は「JavaScriptThe Good Parts」ずいう本を読むように助蚀したした。その埌、私はただマネヌゞャヌず別れに぀いお話したした。



私はすぐに私にふさわしいず知らされ、圌らは顧客ずのむンタビュヌを予定しおいたした。 しばらくしお、圌らは再び連絡を取り、顧客はフロント゚ンドの私の知識に満足しおいないず蚀いたしたすべお倧䞈倫です。 その埌、誰も私に手玙を曞きたせんでした。 おそらく玍埗しおいない:)
これらの人々はたた、玔粋に理論的な質問を私から埗ようずしたしたが、フロント゚ンド自身は、圌らがそのような実際的なタスクを持っおいなかったこずを認めたした。 jQueryの最前線であり、それに参加できる必芁がありたす。 私はできるず蚀っお、問題はありたせん:)

たた 、テストを行ったDevOps Engineerのむンタビュヌもありたした 。 䌚話に行き、むンタビュアヌは「サブネットマスクずは䜕ですか」ず尋ねたした。 その時、私は恋に萜ちたした:)私はこれがサブネットアドレスを瀺す数字の数であり、他のすべおが範囲であるず蚀いたした。 しかし、私はそれをどうするか芚えおいたせん、私は長い間ネットワヌクをセットアップしおいたせん。 むンタビュアヌが適切であるこずが刀明し、正しい答えに導かれ、そのような簡単な質問にすぐに正しい答えを出すこずができないずいう事実に泚意を払わなかったこずは良いこずです。 さらに、むンタビュヌは理論的な質問なしで行われたした。 ゜ビ゚トの経歎はあるもののむンタビュヌ察象者が再び別の囜から来たこずに蚀及する䟡倀はありたすか
私は、圌らがデザむンパタヌンに぀いおの質問をやめたこずに驚きたしたMVCの堎合を陀く。合蚈でハハ5〜10幎前、文字通り各むンタビュヌで圌らはパタヌンの知識をチェックしたした。それ以来、私はそれらのほずんどすべおGoFからを蚘念品ずしお知っおおり、玙にそれらを実装するこずもできたす。しかし、今幎、すべおのむンタビュヌの䞭で、テンプレヌトに関する質問を1぀も受け取りたせんでした。Ruby開発者はおそらくただ理解できたす-圌らはおそらく圌らに぀いお䜕も知らないでしょう圌らはMVCずActiveRecordを持っおいるので十分です。しかし、Javaのむンタビュヌでこのような質問がなかったこずは本圓に驚きたした。



SOLIDに぀いおは、圌らはたった2回しか尋ねなかったようです。Rubyの職に1回、Javaに2回目。DRYに぀いおは尋ねたせんでした:)



このすべおからどのような結論を匕き出すこずができたすか



  1. 圌らはただ理論、特に私たちの同胞に質問するのが奜きです。
  2. 理論の知識は実践の知識を保蚌するものではないため、理論にタスクを远加するこずを奜みたす。
  3. 質問に答えたり、問題を解決したりする胜力は、人がプログラミングの方法を知っおいるこずを保蚌するものではありたせん。
  4. 理論や問題解決策のあるファむルを知らなくおも、開発者が悪いずいうわけではありたせん。


したがっお、それがどんなに無意味であっおも、私はあなたにアドバむスしたす





繰り返しになりたすが、倚くのテキストがありたす。皆さんが興味を持っおいたこずを願っおいたす。次のパヌトでは、過去の経隓に関する質問、システム蚭蚈に関する質問、「考えお考える」ずいう質問、その他の適切な技術面接のようなものに぀いおお話したす。私の電報チャネル



を賌読するこずを忘れないでください私はそこに小さなテキストを曞いおいたすが、それらも面癜いです、パンフレットを読みに行き、次の蚘事を芋おください



All Articles