Javaは、バックエンドの3年半のガチョウの工場出荷時の面接の経験、そして最後にひざまずいて!

パッド入りのMySQL、Redisのと相まって、これを分散降水量、の半年後に最終的には、インタビューの中で自信を取り戻すために始めた、再びオフに設定します。

グース工場

就職の面接: Javaから言語を回しエンドの開発エンジニアを戻ります。

CPPは、ガチョウの工場が主な戦場である知っている、とのcpp背景技術者へのOSのほとんどは、ネットワーク要件は、サービス層の上にJava言語など重点とは異なり、企業は面接の前またはデータ構造でJavaに焦点を当て、この作品は特に高いです、ネットワーク、フレームワーク、データベース、分散。だから、この損失が比較的大きいOSを食べます。

基本的な技術的側面

電話インタビューは、いくつかの技術的な質問をして、最後に中レベルのアルゴリズムの問​​題、部分的にシンプルな内部LeetCodeを尋ねました。

1、Redisのは、ハッシュを達成焼き直しとJavaHashMapのプロセスについて話をする方法のRedisは違い何焼き直し、ビジネスで使用される、一般的なデータ構造とシナリオを使用していませんか?Redisのクラスタは、高可用性をどのように行う、前に理解していませんか?Redisの永続化メカニズム、なぜ持続的利用のRedisを格納するための特別なデータベースをしないことは?

2、TCP / UDPを知らない、両方の定義は、TCPはなぜスリーウェイハンドシェイクと4が手を振って言いましたか?TCPはどのように任意の場所に表示されますTIME_WAIT状態を、高速再送信および輻輳機構TCPの下で言うの秩序ある移行を確保し、知っている、使用(QUIC参照してください)は何ですか?

あなたは信頼性の高いUDPほとんどアルゴリズム、どのようなデザインを設計した場合3、信頼性のないトランスポートですudpの知っていますか?

4、HTTPとHTTPSの違いは何ですか?彼は、どのように解決するために問題を解決するためのhttpsで言いましたか?httpsの下のハンドシェイクプロセスは述べています。

5、どのように高可用性と整合性を確保するために、使用するためにどのような次のetcdに、etcdと、プロジェクト内に見えますか?

6、今あなたはいかだアルゴリズムを述べるので、いかだのアルゴリズムの下で言えば、基本的なプロセスがありますか?表示されたアルゴリズムのいかだが脳を分割した場合どのように対処するには?ZABパクシと飼育係、違いは何前を知るために何のアルゴリズムはありませんか?

7、永続何をすべきか、あなたのバックエンドデータベース?使用サブライブラリーのサブテーブルはありませんが、どのようにしますか?

8、一般的な方法はどのようなインデックス、どのような違い?MySQLのストレージエンジン、どのような違いを達成するには?InnoDBはインデックスが、どのように達成するために何を意味するのかで使用していますか?クラスタ化インデックスと非クラスタ化インデックスの下の違いが言いましたか?

9、全く理解いたコルーチンはありませんか?彼は、プロセスとスレッドの協調の下での違いを言っ?

10、算術問題、安全性の提供に51件の質問、数字の繰り返しの配列を証明するには?

その回答状況は、Redisの作品は、それが緩やかである特定の焼き直しな印象があり、問題が欠如しているが、具体的な原則は少し出て答えるかもしれません。TIME_WAIT TCPの作品は、メカニズムを理解していない以前に達成されてQUIC、非常に良いではないので、信頼性のUDP尋ねられたとき、TCPで実現し、彼が言ったように、基本的に私の心はなかったです。何も言うことのhttpsの作品は、そのようなことに役立つプロジェクトの前に、より明確に研究しています。このアルゴリズムいかだちょうど6.824(LAB2する唯一のブラシ...)を磨くため、A.も即興が、パクシとZABアルゴリズムは直接言わない、に精通していません。MySQLは、この、インデックス、ロック、およびMVCCトランザクションのメカニズムなど、何も言うことを含め、非常に馴染みが埋められています。コルーチンとスレッドは、主な違いは、離れて行くとJavaのスレッドスケジューリングモデルとプロセスを行くと述べました。ヒントインタビュアーは、ユーザモードスケジューリングプロセスで行く、コアスレッドがスイッチング状態を持って言及していません。最後に、すべての最初のアルゴリズムの問​​題は、HashMapの使用が行うと言う、5分は現場の交換でアイデアを考えについてのみ考えの後ろに、スペースの複雑さはO(1)にすることはできないと述べました。

二つの面の技術的なプロジェクト

主に彼らの最も身近なアイテム、アーキテクチャ図の描画プログラム、メインデータテーブル構造、総ピークQPSのポイントに、プロジェクトで使用される技術、遅延、あまりにも時間がかかり遅延が発生する一切の分析がないため1、それぞれ、任意の場所で、その改善プロジェクトは何ではないですね。

2.要求が問題に応答しない場合は、問題を特定する方法を、次のアイデアが言いましたか?

3、問題とどのようにTCPスティックパッケージの契約?

図4は、次のキャッシュ更新モードを尋ね、などの問題が発生するとアイデアに対処しますか?

5、会社のプロジェクトに加えて、事業を検討していないか、よく知られたプロジェクトが貢献していますか?

だから、面接に加えて、基本的な問題をやったことを他の悪い、プロジェクト経験弱いと言います。

総合的な技術三方

これは、混乱の中にすべてのもので、インタビュアーは結局、少し厄介インタビューのリズムにつながる経験をインタビューするために十分ではありません、質問をする好奇心旺盛な方法を使用しています。離れて行くとの違いは何ですかスレッド:たとえば、ある疑問がありますか?

:おそらく唯一のJavaスレッドがメモリの1.5メガバイトを必要とするから、外出先での4キロバイトのメモリを駆動する必要があるため、ユーザモードでスケジューリングプロセスは非常に軽量で行く、Javaスレッドの切り替えコストが比較的高いです。コストが高くなっている理由を次に尋ねましたか?Javaスレッドのスケジューリングは、コストを切り替える必要があるため、ユーザーモードとカーネルモードで高いのですか?なぜ、ユーザーモードとカーネルモード切替スケジュール比較的高いコストとの間に?単純に定義されたカーネルモードとユーザーモード。それから彼は尋ねた、またはなぜ高いコストを理解していませんでしたか?ハート即座うん、OSがこれはまだ痛みああで無限、崩壊、あきらめて長い時間のために躊躇。

すべての質問は、このモデルの背後にある、結果は、ルーチンいるような感覚を全くリズムに答えていません。ほとんどの度は12、あるいは3を答えたが、その後再びGG上のOSレベルまたは他の深いことができます。

後工程で発生したプロジェクトの下での最大の課題、そして解決するためにどのように時間を尋ねましたか?

後ろにはまた、どのように位置付けポジショニングの問題、サーバーのCPUの100%を尋ねましたか?盲目状態で結合通常のビジネス上の問題セットを考えての配置、が原因である可能性があり、何気なくです:最初の典型的なを取る、異常なトラフィックログがある場合はその期間のため、CPU100の%を参照してください、その後、監視パネルは、トラフィックの異常をバーストするかどうかを確認して、ビジネス・プロセスのログビューア。最後に使用呼ばtop100%に占めているプロセスを参照するために監視するためのコマンド。混乱に案の定、口の中には彼の後ろに、来ました。右のアイデアはと最初にする必要がありますしていたtopプロセスのポジショニングの問題、そしてtop間違ったスレッドに移動し、実行中のスレッドスタックをチェックするために印刷し、このプロセスは確かに通常それらに答える、しかし、しかし、ない変更することができます。それでも良い要約を持っています。

ユーザーは流量が増加を増加させた場合、主要なビジネスプロセスを最後に、(友人の設計円)システム設計の対象を尋ね、上記の表の主要な構成をホワイトボードシステムのアーキテクチャ図を描き、説明、アーキテクチャが拡張されますどのように、どのように対処するには?Aさんも少し混沌とした、利己的な共通のアーキテクチャを持つまで直接、精彩を欠いた感じ。背面の反省最初の事業の特性を見つける必要があり、この事業は明らかに少なく、読み書きされ、その後、インタビュアーと通信し、ユーザプログラムの量が最初に起動、性能要件、単一の目標QPSなどは何ですか?システム特性と設計上の制約をクリアした後、再び、むしろ利己のインターネット種類の典型的な共通のアーキテクチャで始まるよりも、独自のプログラムに従事してきました。

概要

1、TCP / UDP、HTTPとHTTPSだけでなく、ネットワークピースは、(様々なネットワークモデルを選択し、世論調査とのepollされている)に非常に精通している必要があります。

2は、写真を撮るために、プロジェクトの経験を持っている必要がありますが、また、それをクリア、クリアなプロジェクトの選択、設計モデルとデータテーブル作ることができるように。

図3は、と非常に精通して分配されます。

4、よくある質問の位置決めが考えなければなりません。

5、オペレーティングシステム、またはOS、三回言うべき重要なこと。

6、システム設計、アイデア、アイデア、アイデア、アイデアを明確にする必要があり、システム設計プロセスを要約してください。

7、それは重要な経験で、列は通常、詳細を参照するブログ、そうでない場合は、自分の思考が、表面的な、そしてただ、カーネルモードとユーザーモードとして、自分のことにはならないだろう、と通常見られているが、細かいありませんでした私は非常に恥ずかしいですこれ、本当に言うことができない、自分自身に言った突然、と思いました。流砂知名度の高い建物ではないと、このようなことの根拠は、より一層と要約を考えるために、ゆっくり築くために時間を必要としています。

おすすめ

転載: www.cnblogs.com/silyvin/p/11312157.html