私は面接の一部で失敗し続けていますか?[閉まっている]


13

そのため、ポートフォリオにはソフトウェア/サイトがいくつかあります。彼らはお金を稼ぐが、全体ではない。

そこで、主にJava / PHPのジュニア開発職に応募することで、仕事の経験を積むことにしました。

問題は、すべての技術的な質問に正しく答え、インタビューの最終段階である「テスト」のコーディングを行うことです。私は決してリラックスして物事を考えることができず、テストを非常にゆっくりと行うことになります。または、時々ブロックを打っただけで、自分の足で考えるのが非常に難しいと感じることがあります。

私が書いた他のものがはるかに複雑な問題を解決していたので、私はこれを理解していませんが、「テスト」は実際にパリンドロームを書いてテストするなどの残酷に単純です。

また、数学演算へのフローを使用してロジックテストを提供する場合もありますが、割り当てられた時間内に実行することはできません。

小額の収入を生み出し、問題を解決する方法を見つけることができる販売可能なソフトウェア/ウェブサイトを作成できることは知っていますが、インタビューでの簡単なコーディングテストでは非常に困難です。

助言がありますか?



どうやら、少なくともあなたは面接のテストは単純なことかもしれないと思うが、それはあなたがTHOSのテストで問題が発生しただけではないようです。infoworld.com/d/application-development/...
いくつかのプログラマーの男

2
このリンクに同意する必要があります。良い開発者と悪い開発者の違いを考えると、悪い開発者を獲得するよりも良い開発者を失う危険を冒したくなります。
deadalnix

7
@deadalnix私はあなたの意見の相違に同意しません。:-)私は、テストが役に立たず、しばしば逆効果であると思う十分な優秀なプログラマーがテストを失敗させ、悪いプログラマーがテストに合格するのを見てきました。IMO、彼らがすることはすべて、インタビュアー/人事の気分を良くすることだけです。
ブライアンノブラウフ

2
@BJoachimとすべて:そのリンクの最初の段落を過ぎて読んだ場合、テストを関連性のある有用なものに保つ上で実際に良いアドバイスです。テストが役に立たないとは言いません。
MarkJ

回答:


18

インタビューに出席し続けます。最終的には、あなたの強みにより適した質問をする場所を見つけるでしょう。また、面接はより良く、より快適になります。それが本当にそれであるので、ゲームとしてそれを見てください。プレイし続けると、最終的には勝ちます。


2
質問のメリット/内容の問題ではなく、答えの条件だけだと思います。bool isPalindrome(string)時間制限(15分?)で紙に書くことになっていたので、私はひどく書くことを台無しにしました。テキストエディタがあり、時間制限がないことを考えると、1分以内で完璧にできると思います。
SF。

9
@SF:面接後に試しましたか?どのくらいかかりましたか?
ケビンクライン

2
また、あなたの弱点に取り組んで練習してください。この場合、同様の小さな問題を見つけて、時間をかけて紙の上で作業してください。何かが最初に動作するように練習して(それが間違っていても)、正しく動作するまで繰り返します。そうすれば、インタビューの一環として思考プロセスを示すことができます。これはあなたが欠けている最大のスキルだと思われます(今)、最小限の成果物を今すぐ入手し、時間をかけて改善してください。このような多くの企業:
アルビグラン

これはスラッシュドットからリンクされているのを見たところです。やや関連:infoworld.com/d/application-development/...
ケビン・スー

問題が紙の上でプログラムできないということなら、それは私の意見では本当の問題です。「isPalindrome」には、あいまいなAPI呼び出しや言語機能は必要ありません。インテリセンスやIDEのメリットがなく、そのようなコンパイル可能なプログラムを作成できるはずです。
エオインキャロル

12

これは非常に一般的です。ほとんどのプログラマーは、快適なゾーンにいるときに効果的にプログラミングできます。たとえば、vimを使用してUbuntuでしか作業できません。そのワークスペースがなければ、プログラミングの気分になれません。また、調査にはGoogleがある程度必要です

プログラミング用のコンフォートゾーンを開発しているはずです。コードの完成を待っている誰かが背後にいる環境に慣れることをお勧めします。それに慣れる最善の方法は、インタビューを続けることです。

それほど大きな影響はないと思うかもしれませんし、そうでないかもしれません。しかし、音楽の有無に関係なく、IDEまたはシンプルなテキストエディターを使用して、木製の椅子を使用したり、ソファーに座ったり、暗い部屋や明るい部屋でプログラミングしたりする人は、開発に大きな違いをもたらします。速度。

仕事に就くと、通常、彼らがあなたに与えるオフィススペースにあなた自身の快適ゾーンを作成できることに注意してください。

編集:この質問は、営業担当者に、コールドコールで快適に、より良くなる方法を尋ねます。最良の答えは、コールドコールを続け、各コールを反映することです。しばらくすると、セールスマンはスキルと快適さを向上させます。すべての主なポイントは面接官に自分自身を売ることであるので、面接に参加するとき、プログラマーも違いはないと思います


Sophaは誰ですか?ソフィーの美しい双子?
ɐɪ

@Rick:残念なことに、インタビュアーとして、私は彼らが効果的なプログラマーであるという誰かの言葉を受け入れることはできません。実際にプログラムできることを確認する必要があります。報告された経験、GPA、認定、またはコードサンプルのいずれも、それを教えてくれません。候補者がプログラミングを行うのを見る必要があります。
ケビンクライン

@kevincline同意します。だから私は彼にインタビューを続け、自分のようなインタビュアーに慣れることを勧めます。
リックロードス

6

これは私の提案です。起業家になってみませんか。同様の問題に直面する多くの人々があるかもしれません。あなたが小さな収入でウェブサイトを書くことができれば、きっとあなたはそこから大きな収入を得ることができます。


1
+1、および起業家精神は非常に前向きな品質とみなすことができます。
maple_shaft

5

あなたはすでにあなたの問題が何であるかを特定しています-プレッシャーの下で問題を解決しています(誰かがあなたを見ているとき)。自信がないか、十分な経験がないか、プレッシャーがかかっているためでしょうか?

いくつかの経験と実践を得るために多くのインタビューに行くことは良い考えですが、逆効果を生むこともあります。インタビューで絶え間なく失敗すると、自信がさらに揺らぐ可能性があるため、注意してください。

ピアプログラミングを試して、誰かがあなたを見ているときに問題を快適に解決できるようにしてください。また、プレッシャーの下で何が効果的であるのを妨げているのかを考えてみてください(実際のテスト自体からのストレス、厳密な監督下での作業からのストレス、特定の時間制限の下での作業からのストレスなど)。


1
また、これらのタイプのテスト質問のいくつかをグーグルアップする必要があります。インタビューでそれらを取得する方法を印刷し、それらを解決します。コンピューターではなくテーブルに座ってください。インタビューのプレッシャーを再現する必要があります。
ビルリーパー

3

プレッシャーにさらされているように聞こえます。面接プロセスの一部として時間指定された例を行う必要があるため、これを乗り越える方法を学ぶ必要があります。これは、プログラミングスキルではなく、恐怖の管理に関するものです。

1つのオプションは、サンプル問題の作成を練習し、自分の時間を計ることです。10分以内にそれらを実行できることがわかったら、タイミングが遅くなるのではないかと恐れることがあります。

別の選択肢は、恐怖を静めるためのテクニックを考え出し、それを使って自分のチョークを解くことです。瞑想のテクニックを学ぶことはあなたを助けるかもしれません。または、恐怖に対する連帯を暗記します(Duneから)。恐怖反応を打ち消すための何らかのトリックを学びます。


3

誰もまだこれを聞いていないことに非常に驚いていますが、プログラミングタスクにどのように近づいていますか?

単純にコードに飛び込んでいるのであれば、あなたは自分自身を失い、簡単な間違いをして自分自身を苛立たせる可能性があります。一度に1ステップずつ実行します。

  1. 要件の収集:正確には、インタビュアーが求めているのは何ですか。あることを確認してくださいゼロ空気中のアップの質問をコーディングする前に。たとえば、古くからある「isPalindrome」の質問に直面した場合、「文字列に特殊文字が含まれている場合はどうすればよいか」などを尋ねます。または「「ada」などの奇数の文字列は回文としてカウントされますか?」あなたは必要なアルゴリズムを設計する前に要件を明確にする方法を知っています。
  2. アルゴリズムの設計:理にかなっている場合は、論理セクションに分割します。それについて話してください。あなたがホワイトボードをしているなら、おそらくいくつかの擬似コードを書いてください。インタビュアーに手順を説明します。いくつかの異なる入力(有効と無効の両方)で実行してみて、目的の結果が得られるようにします。
  3. コーディングを開始:この時点では、あなたが書き込みしようとしているものに非常に自信を持ってする必要があります。基本的に、慣れ親しんだ言語でモーションを実行する必要があります。この時点で、1ダイムに値するインタビュアーがホワイトボードセッションでそれらを許すため、構文エラーがあるかどうかは実際には関係ありません(問題を解決するためにPC / IDEが与えられた場合、それは別の話です)。

実際、コーディングの問題に取り組むとき、インタビュアーは優れたコードをそれほど探していません。.特定の問題に取り組む方法を見ることが重要です。コードにまっすぐ潜ることは悪いことです、期間。

また、問題(要件の収集と設計)について話しているときに、もう少し快適になり、コーディング部分で愚かな間違いをする可能性が低くなることもわかります。


3

プロジェクトオイラー

あなたはfizzbuzテストに失敗しているように思えます。プログラミングの核となる概念を理解しているかどうかを特定することを除いて、一般的に実用的な目的を果たさない単純なアルゴリズムを麻痺させます。

基礎を磨く

私がお勧めするのは、基礎を磨くことです。

http://projecteuler.net/

サインアップして練習を始めると、これらの例を確認することで、コアプログラミングの概念をより深く理解できることがわかります。フィボナッチ数列やその他の数学的概念(おなじみの音)とともに、パリンドロームの質問が見つかると思います。


2

インタビュー時またはインタビュー後にフィードバックを求めます。彼らは何が好きでしたか?彼らは何が好きではなかったのですか?あなたは答えに驚くかもしれません。

もちろん、さまざまな人がさまざまなものを探しますが、問題を解決しようとする方法は、通常、100%正しいソリューションを作成するよりも重要です。あなたはすべての間違ったことを心配しているかもしれません。

何でも良くなるための最良の方法は練習することです。短い問題のリストを書き留めてみてください。次に、リスト上の各項目について、問題を解決する小さなプログラムを作成します。FizzBu​​zzなどの非常に簡単な問題から始めて、難易度を上げていきます。以前のインタビューで見た問題を解決できますか?2つの文字列に共通する最大の部分文字列を見つけますか?n !?の素因数分解を計算します

考えられるのは、発生する可能性のあるすべての問題の解決策を学ぶことではなく、小さなプログラムをすばやく作成する練習を行い、弱点がどこにあるかを把握して改善できるようにすることです。多くの問題は、適切なデータ構造で簡単に解決できますが、そうでない場合は困難です。そのため、データ構造に強固な基盤があることを確認してください。


2

練習して、それを乗り越える方法の基本をガイドしてくれる人を見つけましょう。数回の試行が必要な場合もありますが、フィードバックや練習を行うことができれば、何が明らかになるのか驚くかもしれません。ここであなたの問題に似ていると思われるホワイトボードの問題に対処する方法を、採用担当者に説明してもらいました。

そのような問題が与えられたときに何をすべきか、どのようにそれを話すかについての青写真を持っているので、私は答えを暗記することを提案していません。これはどのように見えますか?同様の問題を見ましたか?アルゴリズムに関して、いくつかの簡単なアプローチは何をもたらすことができますか?少なくともそれはあなたへの私の提案です。


2

ソフトウェア開発者は、コーディングテストを行うように求められたり、インタビューで小さなコードを書いたりするように頼まれると、ふざけてしまうことがよくあります。誰かが既に述べたように、それは私たちのほとんどが「快適ゾーン」にいて、2〜5人のインタビュアーに囲まれた小さな部屋に座っているときにのみコーディングできるからです。

答えは3つあります。

  • 練習して、もっと練習してください。1か月間、紙とペンで30〜40分のプログラミングを試してみてください。驚くほど簡単になります。練習中-インタビューコーディングセッションで求められるプログラミングタスクの種類を試してください-シングルトンの実装、文字列の反転など。「そのジャンクコードを読んで、間違っているものを見つける」とさらに簡単になります。 "-印刷してみて、2週間これらの印刷物を分析すると、そのスキルが大幅に向上します。

  • あなたの恐怖を制御する方法を学びます。テストが難しすぎると思って、その20%しか完了できない場合-その20%を実行しても、残りは心配しないでください。テストは、それを行うために与えられた時間に対して不当に大きい可能性があります(たとえば、インタビューに参加している人は、終了するのに20分を与えるはずですが、本番の爆発のために5分でインタビューをまとめる必要があります) 。また、他の候補者が10%のテストしか完了していない可能性もあるため、20%を完了しても、他の候補者より先に進むことができます。

  • インタビューでコードを書くとき-最初のパスでそれを完璧にすることはありません。「最初に最も一般的なシナリオであるハッピーパス」を実装し、後でエラー処理を行うだけです。時間切れになっている場合-シートのアウトラインの下部に簡単なメモを追加するだけです-時間がある場合にコードを改善するために行ったことです。

[後で実行し、後で回答を編集/改善します]


1

多くの人がすでに言っているように、私が練習することは最も重要なことの一つです。すでに同様の問題を行っている場合は、すぐに解決策を思い付くことができます。

自分で解決しようとする問題を見つけるのに苦労している場合は、Google検索を使用して、あなたの言語または選択の面接の質問をプログラミングしてください。

また、低レベルのCSコースを教えるために設計された本を選ぶこともできます。これらの本のほとんどは、小規模で自宅ですぐに行えるプログラミングの割り当てで満たされています。彼らは練習に使用することができます。


0

私もテストが非常に下手で、常にそうでした。私の人生では、プログラミングクラスに鉛筆と紙で受けるテストが与えられた理由を理解できませんでした。私はそれを得ることはありませんでした。しかし、私がしたことは、この問題があり、それを知っていることをインタビュアーに説明することでした。また、ばかげたテストをしてくれなかった企業のインタビューもできました。

私の提案は、面接に入る前に会社にその種のテストではやらないと伝えることですが、代わりにXに満足しています。(理にかなっていて、あなたが快適に感じる代替案を見つけてください。)私にとっては、彼らにコードを送ることを申し出ました。 3日間でインタビュー。

あなたが仕事を得るために探している場所に応じて、これはあなたのために働くかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.