ソフトウェア開発者インタビューの質問-公正か不公正か[終了]


10

私は電話で会社にインタビューし、ソフトウェア開発者としての地位を求め、次の質問をしました。関係会社はデータベースベンダーではないことを付け加えておきます。

  1. クエリオプティマイザーはどのように機能しますか?

  2. データベースのパフォーマンスが悪い場合、パフォーマンスログを使用して問題を見つけるにはどうすればよいでしょうか。

最初の電話インタビューで、すべての候補ソフトウェア開発者(卒業生または経験者)にそのような質問をするかどうかを尋ねました。彼らは、データベース開発に関する候補者の知識をテストすることを好むと答えました。

これらの質問はソフトウェア開発者のインタビューで尋ねるのは不合理であり、私のインタビューを終わらせることを要求することを会社に書いたいと思います。

以下の仮定の妥当性を確認したい

a)これらの質問は、データベース開発の質問としてかなり分類することはできません。
b)質問はDBAのインタビューには適していますが、ソフトウェア開発者のインタビュー(経験の有無にかかわらず)にはまったく無理です。
c)最初の質問は、データベースベンダーにのみ関連しています。
d) 2番目の質問は公平ではありません。ソフトウェア開発者は通常、データベースパフォーマンスログを処理しないためです。これはDBAの仕事だからです。

おそらくあなたの何人かは、私が会社に手紙を書く前に、私の仮定についてコメントするか、他の提案をするのに十分親切でしょう。


23
私は、できない質問よりも、これらの質問に公平に答えられる開発者を雇う方が好きです。でもそれだけで決めるつもりはありません。
belisarius博士、2011

14
インタビューに一度不満があったインタビュー対象者がいたため、彼は1時間のコンサルティング時間を請求してくれました。私たちはすでに彼を引き継いでいましたが、彼が私たちの決定を強化するためにフォローアップしてくれてうれしいです。:-)

18
username = "user607018"の候補リストから削除します。
マーティンヨーク

44
@ user607018ここでの問題の1つは、就職の面接は学校でのテストのように「公正」であるべきだという仮定です。不正解です。就職の面接は、彼らがあなたを雇いたいかどうかを確認するためのチェックに過ぎません。広告でデータベースの最適化/パフォーマンスについてまったく言及していなかった場合、それは別の話です。彼らは、あなたができない仕事に応募するのに時間を無駄にさせていますが、それ以外の点では公平性はまったく考慮されていません。 。学校の人工世界から実際に物事を成し遂げる現実の世界に行くとき、それはよくある誤解です。
MGOwen

16
SQLクエリを作成する必要がある場合、その質問に対する答えを知っている必要があります。さもなければ、あなたは安っぽいクエリを書くことになり、誰かがあなたの後にそれらを片付けなければならないでしょう。したがって、質問は公平で正当化されます。
SK-logic

回答:


86

私がインタビュアー(私も時々)であり、質問が不公平であり、やり直しを求めているという不満の候補者から手紙を受け取った場合、私はその箇条書きをかわして、すぐにアプリケーションに移動した幸運な星に感謝します「拒否」の山。このように振る舞うと、あなたは不平を言うだけであり、人が求める「できる」態度を持たないことを示します。

a。これらの質問は、データベース開発のトピックを尋ねるのに合理的でした。
b。偽。ソフトウェア開発に関することは何でも問われるべき公正なゲームです。間違った回答を得ても、その職位(または社内の他の職位)が自動的に失格になるわけではないことに注意してください。データベース指向の仕事に最適ではない人物としてあなたを分類するのに役立つかもしれません。
c。偽。
d。偽。まず、専用のDBAがいない場合があります。第2に、ソフトウェア開発者は、パフォーマンス(および精度)に影響を与える可能性のある広範な問題を認識し、少なくともデータベース管理について高度な知識を持っている必要があります。

まだ知らないことがあるので、これを教訓としてください。これで、次回のために何を勉強すべきかがわかりました。


31
+1「今、あなたは何を勉強すべきか知っています。」雇用主が最後に望んでいるのは、「私の仕事ではない」スピーチを完成させたスタッフです。
Dave

7
+1-私ができれば+100に
賛成票を投じる

+1面接では何でも期待できます。それは彼らのゲーム、彼らのインタビュー、そして彼らの会社です

私もできればもっと賛成票を与えたいと思います。また、答えを知ることが期待されないかもしれない質問は、プレッシャーのもとでどのように対応するかを確認するように求められることもあります。しかし、データベース開発が仕事の重要な部分であるなら、私はこれらの質問についてまったく奇妙なことを何も見つけませんでした。
HLGEM、2011

5
さらに、「クエリオプティマイザーはどのように機能しますか?」必ずしも最初からクエリオプティマイザーを構築できるようにしてほしいという意味ではありません。これは、ストアドプロシージャ、アドホックSQLクエリなどを処理するときに、オプティマイザが実行される時点についての理解を確認することを意味する場合があります。これは、データベースにアクセスするコードを作成する開発者にとって絶対に関連する知識です。
Carson63000、2011

17

私はそれは公正な質問だと思います(そしてそれはおそらくGoogleが尋ねる質問のように聞こえます)。:)問題のポイントは、データベースクエリなどの詳細な知識を実際にテストするためではなく、問題へのアプローチと解決方法を監視するためのものです。以前に行ったことのあるタスクを実行する能力は必要ですが、自分の足で考え、新しい問題に取り組む能力は重要なスキルです。

そのような質問が出されたとき、与えられたデータベースの特定の知識が不足している場合、私は公正な対応が始まると思います。「まあ、私はそのテクノロジーについて具体的な経験は多くありませんが、一般的には、パフォーマンスログを調べて、最も頻繁に実行される操作を見つけ、処理時間でランク付けを試みます。これにより、どの操作が最もコストが高く、最適化の候補になるかを判断できます。」

上記の答えには特定の技術知識は必要ありませんが、面接官は新しい問題を解決する準備ができていることを示しています。


4
あるいは、クエリの最適化についてある程度の知識を備えた開発者を好む場合もあります。私の妻はDBAではありませんが、クエリを最適化する多くの優れた仕事をしてきました。DBAは忙しいため、それを使用できるすべてのクエリを最適化できません。
David Thornley、2011

16

公平か不公平かが問題ではない場合、彼らは雇い、ルールを作成し、彼らが望むものは何でも質問できるようにします(すべてではなく、ほとんどすべてのものです;))。

そして、あなたがまだ仕事をしたいのなら、あなたが彼らを書くなら、あなたはあなた自身に好意を与えるとは思わない。


技術的に彼らはあなたに何でも尋ねることができます、答えるかどうかはあなた次第です(そして彼らがあなたに完全に愚かな何かをあなたに尋ねた場合、あなたはとにかくその仕事を望まないでしょう)。
o0 '。

16

就職の面接で非常に一般的な戦略は、面接対象のポジションのレベルを超えた質問をし、候補者がどのように混乱するかを見ることです。質問をすると、次のようなものに答えることが合理的に期待できます。

まあ、私のデータベースの知識は初歩的ですが、私はそれがこのようなものになると思います...

あるいは:

申し訳ありませんが、私の専門知識の範囲外です。パフォーマンスログの詳細をDBAに確認する必要があります。

一般に、私はエントリーレベルの候補者が少なくともデータベースがどのように機能するかについての基本的な理解を持っていること、そしてまた「私は知らないが、私はしようと学びます」という態度を持っていることを期待します。

あなたが正直な試みをし、彼らがすぐに電話を終えたなら、あなたは苦しんでいると感じる本当の理由がありますが、私はあなたが物事を知らないことを認めながら自信を持って現れる方法を学ぶべきだと思います。


12

面接担当者が回答できない準関連の技術的な質問を見つけられない限り、面接が完了したと見なさない面接担当者を知っています。目標は、候補者がそのタイプの質問にどのように対処するかを確認することです。

彼らが知らないことを認めるか?良い。答えのためにスピン/ BSを作りますか?ドア。


9

IMO、ソフトウェア開発者、およびDBAの役割は、多くの企業で十分に分類されていません。ソフトウェア開発者であれば、一般にデータベースの少なくとも一部を知る必要があります。ですから、新鮮さを求められない限り、質問は公平に思えます。


8

これは公平だと思います。私はデータベースベンダーには勤務していませんが、クエリプラン(およびパフォーマンスログの読み方)の読み方を知ることは非常に重要です。クエリオプティマイザがどのように機能するかを知ることも知っておくと役に立ちます。

あなたの弾丸に応じて:

a)えっ?確かにそれらはデータベース開発に関連しており、コードを記述していて、プログラムがデータを照会する必要がある場合、それは関連性があります。

b)そうではない。DBAは答えをよく知っていたはずですが、優れた開発者も答えを知っている必要があります。DBAほど詳細な回答は期待していませんが、何か期待しています。また、開発者が知らない場合は、開発者がデータベース作業にまだ比較的慣れていない場合は、「DBAに教えてほしい」という助言を受け入れるかもしれません。

c)いいえ、そうではありません。これは、データベースクエリのパフォーマンスを懸念するすべての人に関係します。クエリの実行速度を気にしない場合は、これを無視できます。一方、Webサイトのパフォーマンスがますます悪化しているクライアントは、反対するかもしれません。

d)たぶん。すべての開発者がパフォーマンスログを表示するわけではありませんが、問題がある場合は、DBAが関連する部分をメールで送信し、解釈方法がわからない場合は問題を説明することを期待できます。少なくとも、開発者はクエリプランを見て、基本的な問題を確認できる必要があります(フルテーブルスキャン=>不良、クイックインデックススキャン=>良)。

あなたは学校を出たばかりで、クラ​​スでこれをカバーしていなかったかもしれないので、「私はより上級の開発者またはDBAに話し、これを理解するための支援を求めます」と答えることができます。インタビュアーは、それを見つけるための経験がまだないので、少なくともあなたが新しいことを学ぶ用意があることを示しているので、それを受け入れるかもしれません。もう1つの方法は、自分で学習することです。

次のインタビューで頑張ってください!


7

彼らは完全に彼らが欲しいものを尋ねる権利があります。大学のカリキュラムでこれらのトピックを取り上げなかった可能性がありますが、それは他のインタビュー対象者がカリキュラムを超えてトピックに関心がない、または十分に関心があることを意味しません。彼らは最高のものを探しています。私はあなたが少なくとも質問に答えようとし、すべての防御を獲得しなかったことを望みます。私が彼らであり、あなたからちょっとした手紙を受け取った場合、あなたはブラックリストに載せられるでしょう。


2
あるいは、それが学校でカバーされなかったからといって、会社がそれらのスキルを必要としないわけではありません!
GrandmasterB

3
そして、もし候補者がなんとかして2番目のチャンスを得た場合、同じ質問(または漠然と同様のもの)を期待することは大きな失敗になります。質問共有(特に採用担当者に支持されている)を打破するために私が行う1つのことは、「奇妙な」質問をかなり大きく変えることです。次回は、電話の統合またはバーコードスキャンについて何かを期待します。

7

ソフトウェア開発は学際的な専門職です。インタビューのやり直しを求めるマイレージは得られないと思います。この文脈で「合理的」とは、特定の会社が、DBAスキルの欠如に基づいてのみ検討からあなたを排除するかどうかです。質問することは完全に合理的です。

キャリアが進むにつれて、より多くのことを知る必要があります。ソフトウェア開発者がクエリの最適化に注意を払う必要がある理由がわからない場合は、アプリケーションの設計を検討してください。新しいプロジェクトでは、多くの場合、データモデリングに関する議論が行われます。これは正規化の議論につながり、データベースの設計作業につながります。優れた設計原則は実装に流れます。建築レベルでの悪い/効果のない設計は、修正に費用がかかることが多い結果をもたらします。


5

「フェア」の概念はここでは重要ではありません。これは就職の面接です。

彼らはあなたの肌の色、宗教、民族性、またはいくつかの他のようなものに基づいてあなたを拒否することはできません。しかし、彼らはできるためにあなたを拒否するすべてのあなたが面接に着ていた靴の色と愚かAの理由として、他の理由。そして、あなたは本当の理由を決して知らないかもしれません。

面接時には弾力性があることが重要です。過度に分析する傾向を理解しており、十分に頻繁に自分で分析しました。しかし、最善の方法は、人生公平ではないことを受け入れ、パイプラインで十分なインタビューを行い、希望のすべてをそのいずれかに絞る必要がないようにすることです。


5

他の人が言ったように、質問は完全に有効です。ただし、面接官がこれらの質問に基づいて完全に採用するかどうかを決定した場合は、奇妙なことになります。多分彼らはあなたがよく知らないかもしれない主題についてのあなたの理由を聞きたがっていました、そしてそれは有効なインタビュー技術です。

場合、私はあなたが言った場合に雇用された、私はあなたを排除しないだろう「私は申し訳ありませんが、私は、クエリ・オプティマイザについてその多くを知らないが、私は学ぶことができます」。でも、もしあなたが質問について愚痴を言い始めたら、私あなた除外します。


5

正直言って、ソフトウェア開発者としてのデータベースを回避する方法はありません。これまでに携わってきたすべてのプロジェクトは、開発時間の少なくとも半分を占めていました。DB設計はソフトウェア開発に不可欠な部分であり、知識が多ければ多いほど、問題をよりよく解決できます。また、質問の種類に惑わされないでください。ほとんどの場合、雇用主はあなたが目の前の問題を解決するためにあなたの足で考えることができるかどうか、または少なくとも問題について賢明なことを言う自信があるかどうかを見たいだけです。あなたは卒業生であり、彼らは実際にとにかくこれらすべてのことをあなたに教えることに時間を費やす必要があることを理解していますが、あなたは時間と努力の価値があるかどうか知りたいと思っています。シャープで控えめなままにしてください!


私は開発者で、何年もデータベースに触れていません。私たちの一部はCRUD Webアプリケーションを実行しません。そうは言っても、多くの(おそらくほとんどの)役割について、あなたの議論は保持しています。
クリストフプロボスト

5

これらの質問はソフトウェア開発者のインタビューで尋ねるのは不合理であり、私のインタビューを終わらせることを要求することを会社に書いたいと思います。

その手紙を送ったら、世界で何が起こると思いますか?彼らが「うーん、この候補者にはポイントがあります。私たちは彼を取り戻し、簡単な質問をしましょう」と言うと思いますか?彼らがそうしないことを保証します。実際、彼らがすることは手紙を回って、笑うことです。

資格の感覚を乗り越えます。あなたは現実の世界に出かけています。

データベースに関する質問が不公平だとどう思いますか?プログラマはデータベースを知っている必要はないと思いますが、この会社はデータベースを知っているようです。それが彼らが質問している理由です!面接担当者は地獄のためだけに質問をするわけではありません。彼らはあなたが彼らが必要とするものを知っているかどうかを知るために質問をします。彼らが何を必要としているのかわからない場合、あなたはその仕事に適した人ではありません。

データベースについて学びたくない場合は問題ありませんが、一部の企業があなたを雇いたくない場合でも駄目ではありません。あなたは仕事を負っていません。


1
できれば、100万回
賛成票を投じます

4

これらの公平な質問はどうですか?開発者はデータベースを操作します。彼らは、少なくともデータベースクエリを効率的かつ高速にするために必要な要素に精通している必要があると思いませんか?すべての会社に社内DBAがいるわけではありません...たとえそうであっても、開発者から効果的なクエリを作成する責任を負うわけではありません。


4

彼らがすべての候補者の質問をする場合、彼らは公平です-終わりです。

ていない問題かどうか、あなたは、彼らは、彼らが必要なスキルを反映するかのどちらかので、(彼らが行うこと、その可能性が頼めば、彼らが見つけたので-質問は、唯一の将来の雇用主は、彼らが適切であると感じるかどうかを重要位置に適切な感じ彼らが得た応答は、インタビュー対象者についての興味深いことを彼らに伝えるということです)。

最後に、あなたは開発者の権限の限界について奇妙な考えを持っているようです-私はこれまで(25年のキャリアの中で思い出すことができる限り)専用のDBAと一緒に働いたことはありません...


あなたはそれから大企業の非IT企業を避けてきました:)あなたはそれらの中でDBAナチのために私たちを監視する必要があります!
ozz

@james "Avoided"は間違った言葉ですが、はい...重要なのは、私がその期間の大部分で "開発者"であったため、少なくともある程度のDBAタイプのスキルが必要だったということです(ただし、私は私がDBAであることをお勧めします...しかし、より適度なプロジェクトのために専用のdbaになる必要があるわけではありませんが、スキルセットのギャップを認識するのはときどき辛くなることがあります)
Murph

4

質問を見ると、これは私の会社である可能性があると思います。電話インタビューの一環として、すべての候補者にこれらの種類の質問をします。常に。それは私たちに仕事の基準を与えます。

上記の応答のほとんどは、それをかなりうまくまとめています...

a)いくつかのことしかできない人ではなく、幅広い経験を持つ人が欲しい。

b)質問は私たちがあなたの知識を調査するのを助けるためにあります、あなたは答えを完全に(またはまったく)知らないかもしれません、質問はあなたがあなたの知識と経験を拡張するための出発点です。

c)面接は私たちとあなたのためにあることを忘れないでください...質問の種類から、役割と会社、そして私たちがあなたに合っているか、あなたが私たちに合っているかを知ることができるはずです...

d)仕事です。面接を受けられない場合は、大人になり、泣き言をやめて次の面接で上手に試してください。


3

彼らにはDBAがいないようですので、彼らもあなたにその役割を果たしてほしいと思っていました。これは中小企業では一般的です。


6
企業がデータベーススクリプトを微調整する方法を開発者に理解してほしいからといって、DBAがいないわけではありません。私は、SQLスクリプトをサーバーに送り込み、DBAがそれに到達することを期待するのではなく、独自のものを最適化できる開発者を望んでいます。DBAは、スクリプトを常に修正するよりも、心配すべきことが多くあります。

1
すべての企業がDBAを雇用しているわけではありません。ソフトウェアをクライアントに配布する商用開発者を検討してください。クライアントにはDBAがいる場合がありますが、開発者はソフトウェアで効率的に使用されるクエリを作成する必要があります。
GrandmasterB、

私は小さな会社(私が入社したときは約20人)で働いていましたが、実際にDBAを獲得したのはずっと後のことでした。クエリを30分から30分に行ったとき、自分でそれを理解する必要がありました。
David Thornley、2011

1
いずれにせよ、プログラミング以上のものを知っている開発者を求めることは不合理ではありません。
アンドレスF.

3

私はそれで全く何も悪いことを見ません。開発者が、特にデータベースで作業する場合、開発者がそのような項目に関与しないのはなぜですか?

ソフトウェア開発者は、最適化ソフトウェアや、パフォーマンスの問題を把握するためにアプリケーションイベントログにアクセスする方法を知らないでください。もしそうなら、なぜデータベース開発者である人にとって同じではないのですか?なぜ同じものになれないのですか?

データベース開発も行っているソフトウェア開発のポジションについて誰かにインタビューしている場合は、間違いなく、彼らが彼らのしていることだけでなく、コードのパフォーマンスを向上させることができることを彼らが知っていることを確認しますまたは、データベースとしての既存のコードは、大きなボトルネックになる可能性があります。

態度を開発する代わりに、おそらくより良い行動方針は「私は答えがわからないが、これを見つけるために私が何をすべきかだ」であったでしょう。


3

他の人が指摘したように、インタビューでは、法的に保護された領域(たとえば、年齢、人種、性別など)に触れず、インタビュアーをスローすることは珍しいことのない限り、ほとんどの種類の質問は公正なゲームです。あなたが質問にどのように反応するか、そしてあなたが質問の解決策を見つけることをどのようにしようとするかを見るためだけにあなたに質問します。また、あなたは最近の卒業生のようですので、仕事の経験や、制作環境でどのような問題を解決したのかを尋ねることができるという点で、彼らは少し制限されています。したがって、会社がデータベース指向の仕事を数多く行う場合、彼らが尋ねた質問は、面接しているポジションが何をしているのかにも関係している可能性があります。

あなたの仮定に関して:

a)これらの質問は、データベース開発の質問としてかなり分類することはできません。

多分そうでないかもしれません。データベース開発を行っている場合は、クエリオプティマイザーを使用し、クエリに明らかな問題がないことを確認するために時々計画を立てます。会社にクエリをレビューできるデータベース管理者または専門家がいる場合、すべてを確認する時間がない可能性があり、不十分にコード化されたすべてのクエリを確認する必要もありません。同様に、開発者が開発環境を維持し、データベースを含め、DBAにプロダクション側の処理を任せることも珍しいことではありません。

b)質問はDBAのインタビューには適していますが、ソフトウェア開発者のインタビュー(経験の有無にかかわらず)にはまったく無理です。

それらはおそらくDBAインタビューに適しています。いずれにしても、問題がどこにあるのかを認識し、基本的なトラブルシューティングを自分で行うことができるレベルでさえ、開発者が精通している必要があるトピックでもあります。前に述べたように、会社のリソースが限られている場合、基本的な問題である可能性があることで人々が時間を浪費していないことを確認したいと思うでしょう。

c)最初の質問は、データベースベンダーにのみ関連しています。

特定の詳細はベンダー固有である場合がありますが、一般的な概念はどこにでも適用でき、場合によっては、一般的な概念が必要なすべてを理解していることを示すことができます。単一の開発スタック(LAMPなど)に縛られたくない場合は、インタビュー中にコアコンセプトを理解し、さまざまな開発スタックに快適に移動できることを示す必要があります。

d)2番目の質問は公平ではありません。ソフトウェア開発者は通常、データベースパフォーマンスログを処理しないためです。これはDBAの仕事だからです。

これは一般的には真実ですが、仕事の一部が特定のデータベース用のソフトウェアを書くことであり、応答性が高い必要がある場合は、それらのクエリを書くために最善の努力を払って、同僚がそうなるようにする必要があります。特定の分野の専門家は、不十分に記述されたクエリに悩まされていません。ログが何を伝えているかの詳細を知る必要はないかもしれませんが、明らかな問題を特定できる必要があるかもしれません。

うまくいけば、これがすべて役に立ちます!


2

あなたがソフトウエア開発者であるからといって、ソフトウェア開発者のトピックだけを知っているべきだという意味ではありません。サーバー管理からデータベース技術まで幅広い知識を持つことは、実際には開発者として非常に役立つスキルです。候補者にこのような質問をするのは問題ありません。彼らが正しく、うまくいかない場合、それは彼らをリストから外すことはできません(私は彼らがすべてを知っているとは思わない)が、彼らが答えることができれば、それは私が開発者が典型的なスキルセットプログラマーであり、それらはまれな品種です。


+1、完全に同意します。そして代わりに、将来の採用が質問の「不公平さ」について愚痴を言い始める場合、彼らはより一般的な種類の採用しないことに属します。
アンドレスF.

2

私はまた、マンホールの蓋について私に質問した雇用主候補と同様の論争を抱えています。マンホールの蓋の形状はプログラミングとどのような関係があるのでしょうか。


3
マンホールの蓋についての実際の質問は何でしたか?それはあなたが考える能力を評価するために作られた思考実験であり、マンホールの蓋とは何の関係もなかったに違いない。
ケニーワイランド、2011

優れた面接担当者は、あなたがどのように考え、問題を解決するかをよりよく理解するために、この種の質問をします。(ラウンドマンホールの質問は最近少し疲れていますが)。

2
これは非常によくあるインタビューの質問です。「マンホールの蓋が丸いのはなぜですか?」予想される答えは、「穴に収まらない(そして落ちない)ようにすること」です。(そして、「穴が丸いから(丸いので)移動する」)
ジミー

この質問は、バスの質問に当てはまるゴルフボールの数とおそらく同じでした。必ずしも正しい答えがあるとは限りませんが、インタビュアーはあなたがどう考えているか、どのように問題を解決しようとしているのかを見たいと思っています。面接を受けるときは声を出して考えることが重要です。

2
この発言はもちろん冗談ですが、過去20年間に誰もが有名なマンホールの質問を使用したかどうかは疑問です。要点は、面接では面接官のルールに従うことです。質問が不適切と思われる場合は、率直に発言し、理由を説明してください。

0

フォームの応答よくわかりませんが、にアクセスして調べるとよいでしょう。誰もがあなたがすべてを知っているとは思っていませんが、ものを調べられることが重要なスキルです

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