面接官の面接問題の分析

3515 ワード

icyfenixから転載-面接官の面接問題に対する分析
この投稿の背景は今晩jeにこの投稿を見たことです.http://www.iteye.com/topic/715256ああ、気まぐれに書いた文字は、レンガを投げて玉を引くことができれば、他の面接官が自分の面接で聞いた質問を分析することができれば、意味のあることかもしれません.
会社で技術面接官をして数年間、新卒から十数年の応募者に出会ったことがあります.まず、面接に対する私の意見を伝えてください.
1.筆記試験、面接で人を評価するのは正確ではないに違いない.1、2時間以内に問題を作ったり、交流したりすることは、他に方法がないので、面接に合格したからといって、成功したわけではありません.合格しなかったからといって、失敗したわけではありません.2.良い面接官は自分で话す时、自分の1つの高い役の上で、自分と応募者を2つの技术をする人として平等に交流しなければならなくて、自分を権威として往々にして観点の角度、言语の表现、仕事の领域の习惯性の制约を受けます.3.良い考察テーマはみんながよく接触することができて、異なるレベルの人は異なるレベルの答えがあって、問題から後で討論を続ける話題を引き出すことができます.
例を挙げると、レンガを投げて玉を引くと、次の質問は私が以前よく聞いたもので、新卒から仕事まで十数年の人が聞いたことがあります.
「Javaにはゴミ収集器というものがあることは地球人が知っています.それは作成したオブジェクトにc/cppのようにdelete、freeを落とす必要がないことを知っています.GCはいつ、何に対して、何をしましたか?」
私は自分でこの問題を分析して、まず“いつ”で、異なる階層の答えは低いから高いまで並べます:
1.システムが空いているとき.
分析:この答えは約30%を占めていますが、出会ったら普通は別の話題に転向するつもりです.例えば、アルゴリズム、例えばSSHで彼の得意な他の面を発掘できるかどうか見てみましょう.
2.システム自身が決定し、予測不可能な時間/System.gc()を呼び出すとき.
分析:この答えは約55%を占めており、ほとんどの新卒者がこの答えに答えることができるが、少なくとも間違いではないだろう.言語表現が答えを漠然としているのか、それともそれ自体がこのような漠然とした認識を持っているのかを細分化しなければならない.
3.新生代、古い年代の構造を言い出すことができて、minor gc/full gcを提出することができます
分析:このレベルになると、基本的にGCの運営について概念的な理解があると言えます.例えば、「JVM仮想マシンに深く入り込む」などを見たことがあります.この部分は10%未満です.
4.minor gc/full gcのトリガ条件、OOMのトリガ条件を説明でき、GCのチューニングを低減する策略.
分析:いくつかの私の期待する答えを列挙します:edenはminor gcを満たして、古い年代の対象に昇格して古い年代の残りの空間full gcより大きくて、あるいは小さい時HandlePromotionFailureパラメータによってfull gcを強制されます;gcと非gcの時間がGCTimeRatioの制限を超えてOOMを引き起こし、NewRatioで新生代の古い年代の割合を制御したり、MaxTenuringThresholdで高齢者になる前の生存回数を制御したりするなど...この段階は私に高い期待をもたらすと答えられ、もちろん面接の時は正常な人はすべてのパラメータのスペルを覚えていません.自分でこの話を書いたときもマニュアルをめくったことがあります.この部分は2%未満だと答えた.
PS:合わせて100%未満というのは、確かに少数の人が直接知らないと言ったり、直接答えを拒否したりしているから=#
2つ目の質問を分析します.「何に対して」:
1.使用しないオブジェクト.
解析:答えがないことに相当し、質問はどの相手が「使わない相手」なのかということです.約30%を占めています.
2.役割ドメインを超えたオブジェクト/参照数が空のオブジェクト.
分析:この2つの答えは60%も立っていて、かなり高い割合で、学校がjavaを教えるときに先生がこのように教えたと推定されています.最初の答えは私の疑問を解決していません.gcはいったいどのような対象が役割ドメインにいないかをどのように判断しますか?カウントを引用して対象が収集可能かどうかを判断するには、obj 1、obj 2がGCされるかどうかを面接者に分析してもらう例を補足します.
    class C{ 
         public Object x; 
    } 
    C obj1、obj2 = new C(); 
    obj1.x = obj2; 
    obj2.x = obj1; 
    obj1、obj2 = null; 

3.gc rootから検索を開始し、検索できないオブジェクト.
分析:ルートオブジェクトの検索、マークは悪くないが、5%未満の人はこのステップに答えることができ、カウントを引用する方法が「民心に深く入り込んでいる」と推定される.基本的にこの問題のすべての点数を得ることができます.PS:この質問に強い引用、弱い引用、ソフト引用、幻影引用の違いなど、私が聞きたい答えではありませんが、加点できます.
4.rootから検索できず、最初のタグ、クリーンアップを経ても、復活したオブジェクトはありません.
分析:私が期待している答え.しかし、确かに面接者がこれに答えることは少ないので、私の心の中で3点目はすべての点数をあげますと答えました.
最後に一つの質問から、「何をするか」という質問は、発揮する空間が大きすぎて、年代やコレクターの動作が非常に多い.
1.使用しないオブジェクトを削除し、メモリ領域を空けます.
分析:同問題2第一点.40%.
2.他のスレッドの実行を停止したりfinalizeを実行したりするなどの説明を補足します.
分析:少なくとも質問を具体化しましたが、答え1のように答えの中で話題を見つけて展開し続けるのは難しいです.約40%を占めています.
面接で一番怖い答えは「この質問は言えませんが、出会ったときはインターネットで検索してできます」です.プログラム开発は确かに茴香豆の「茴」を锻えるのではなく、いくつかの书き方があります.无駄に覚えないで同意します.私は文法や単语を直すことはできませんが、いくら考えを言っても、ネット検索に直接答えなければなりません.応募者を评価できる情报を得ることはできません.答えから话题を発掘して讨论を続けるのも难しいです.できるだけ自分になじみのある、議論できる分野に答え、面接官の得意な面を見せることをお勧めします.
3.新世代がやっているのはコピークリーンアップ、from survivor、to survivorが何をしているのか、古い世代がやっているのはマーククリーンアップ、マーククリーンアップ後の破片が整理されているかどうか、コピークリーンアップとマーククリーンアップに何かメリットとデメリットがあるかなどを言えます.
分析:「JVM仮想マシンに深く入り込む」を見たことのある基本的な答えでもありますが、実はここまで楽しみにしています.同じ10%未満です.
4.3以外にも、シリアル、パラレル(チップを整理/整理しない)、CMSなどの収集器が機能する年代、特徴、優劣を明らかにし、収集器の選択を制御/調整する方法を説明することができる.
分析:上の2つの問題の第4点と同じです.
最後に自分の背景を紹介して、1つの大きくて小さい上場ソフトウェア会社でプラットフォームのアーキテクチャ師を担当して、3年ぐらいの面接官の経験があって、仕事の主な方向は大規模な企業級の応用で、いくつかの億元級のプロジェクトの下層のアーキテクチャの仕事に参加したことがあります.