これは、Bytedanceのオファーを積極的に拒否し、Huawei、Ant、PDD、Baidu、Paypalからのオファーを簡単に獲得した偉大な神です。

年の半ば、転職により、Huawei、Ant、Bytedance、PDD、Baidu、Paypalの社会採用面接に連続して参加しましたが、Bytedanceの長いプロセスを除いて、私は率先して面接を終了しました。 、そして他のすべてのインタビューはスムーズに進みました。それはオファーです。

最近はもう少し時間がありますので、就職のお手伝いをしたいと思い、個人的な体験を書いていきます。

面接経験

以下では、時系列で、さまざまな企業とのインタビューの経験を共有します。

Huawei

配送方法の再開:BOSSから連絡を受けたHuaweiHR。

  1. オンライン筆記試験:正式な面接の前に、3つのアルゴリズムの質問を含むオンライン筆記試験があります。難易度は単純なものから深いものまであり、2つの質問は基本的に問題ありません。
  2. 1ラウンドのインタビュー:ビデオインタビュー。このラウンドのインタビューには2人のインタビュアーがいます。各インタビュアーは約45分間インタビューします。インタビューの内容は主にJavaに基づいています。最後に、アルゴリズムの質問が書かれますが、複雑ではありません。
  3. 2ラウンドのインタビュー:このラウンドは主に複数のリーダーへの電話インタビューです。彼らはプロジェクト関連のコンテンツについて質問する場合がありますが、フレームワーク関連のものが多く、技術的な詳細はそれほど低くありません。
  4. 人事面接:ランクと給与について話し合うHuaweiの給与は基本給とパフォーマンス給与で構成されており、年末には2か月になる可能性があります。給与について議論しようとしましたが、役に立たなかったようです。 。

概要:Huaweiの面接官と人事はどちらも素晴らしいです。面接の全体的な難易度はかなり控えめです。どちらも基本と単純なアルゴリズムに重点を置いています。さらに、面接プロセスも非常に高速です。基本的に、2週間以内に終了します。ただし、Huaweiのソーシャルリクルートは基本的にODであり、正社員ではなく外国企業のDecoにリンクしているため、将来的には昇進や昇給が影響する可能性がありますので、ご自身で検討する必要があります。

Ant Financial

履歴書の配信方法:友達が直接内向きにプッシュし、プッシュ後1週間以内に面接に連絡します。

  1. 1ラウンドのインタビュー:主にプロジェクトを紹介するための杭州からのオンライン電話インタビュー。彼はプロジェクトの技術的ポイントに基づいていくつかの議論を行います。さらに感銘を受けたのは、当時、分散整合性の解決策について話し合っていたのですが、彼は私の答えに満足していないと感じました、ハハ。最後に、質問をするためのリンクを投稿します。質問は主にJavaマルチスレッドの使用を調べます。当時の私の質問は、特定のシナリオで最速の支払い方法を見つけることでした。
  2. 2ラウンドのインタビュー:上海からの電話インタビュー。このラウンドはスーパーバイザーインタビューであり、これもプロジェクト指向のラウンドであり、分散ロック、分散整合性、モノ、Javaスレッドなどの多くの基本的な質問に拡張されます。このラウンドでは質問はなく、チャットは約1時間終了しました。
  3. 3回の面接:今回は2回の面接官の監督が面接に来て、直接上海アントZスペースに行って面接をお願いしました。このラウンドでは、具体的な技術的な詳細はなしに、主にプロジェクトまたはよりマクロなものについて話しました。
  4. 人事面接:P6で面接したので、3ラウンド後に直接人事面接に行きました。人事は楽観主義や実用主義などのアリフレーバーの調査に焦点を当てました。

要約:面接の難易度は中程度です。プロセスは基本的に全体で1週間と1か月です。もちろん、フォローアップのバック調整と身体検査は含まれていません。したがって、アリに面接したい場合は、事前に面接し、面接中に概要を確認します。

PDD

配信方法の再開:BOSSはpddHRを見つけるために直接雇用されました。

  1. 1ラウンドのインタビュー:ビデオインタビュー。前半30分でプロジェクトについて話し、後半で質問をします。
  2. 2ラウンドのインタビュー:ビデオインタビュー。前半30分でプロジェクトについて話し、後半で質問をします。
  3. 3ラウンドのインタビュー:ビデオインタビュー。最初の30分で質問をし、後半の30分でプロジェクトについて話します。
  4. 人事面接:給与を決めるPDDは非常に激しいので、大胆に給与を求めることができます。そうしないと、入社して後悔するのに遅すぎます。

概要:PDDの面接プロセスは非常に単純で失礼です。質問をしてプロジェクトについて半分ずつ話します。質問の難易度は基本的にLeetcodeの中程度の難易度です。面接後、私は遭遇しませんでした。非常に奇妙な質問があれば。面接の準備をするときに、Leetcodeが頻繁に受ける200の質問をスワイプできます。最終的にはPDDに行かなかったのですが、面接官とPDDの人事部が印象に残りました。面接のプロセスは友達とのコミュニケーションのようにとても快適です。PDDのプロセスは非常に速く、結果は会社によってプロセスが異なるため、約2週間です。人事部は、彼女に返信する前に他のオファーを受け取ることができるように、数週間私を待っていました。これには本当に感謝しています。

Baidu

履歴書の配信方法:BOSSは人事を見つけるために直接雇用します。

  1. 1ラウンドのインタビュー:ビデオインタビュー。プロジェクトを共有してから、主にJavaの基本、キャッシング、および分散に関する技術的な詳細を尋ねます。
  2. 2ラウンドのインタビュー:ビデオインタビュー。このラウンドは前回のラウンドと似ていますが、技術的な詳細を尋ね、オンラインで生産者/消費者モデルとアルゴリズムの問​​題を記述します。
  3. 3ラウンドのインタビュー:ビデオインタビュー。上司が面接するのは簡単です。仕事について話し、計画について話すだけです。
  4. 人事面接:給与を決定するBaiduの給与構成はBase plusstocksです。他社からの申し出がある場合は、大胆に議論することができます。人事部は追加できないと言う理由はいろいろあるかもしれませんが、議論を主張する必要があります。私がそれを経験した後でも、まだ多くの余地があります。引数。

要約:インタビューは純粋な技術に焦点を合わせているので、技術的な詳細を理解する必要があります。アルゴリズムに関しては、Baiduはそれを深く調べていません。面接のプロセスは非常に速く、約1週間で終わりました。

ペイパル

配信方法の再開:内部プッシュ。

  1. 1回の面接:ビデオ面接、2人が交代で面接、所要時間は2時間です。パッケージ化クラス、マルチスレッドから分散、キャッシングなど、さまざまなJavaの詳細。各ラウンドには、中程度の難易度の質問が必要です。
  2. 2ラウンドのインタビュー:ビデオインタビュー。3人が交代で面接を行い、3時間続きます。これは、面接マネージャーのスタイルによって異なります。純粋なアルゴリズムに偏っている人もいれば、基本に偏っている人もいます。ただし、時間がかかり、事前の準備が必要です。
  3. 2回の面接の後、うまくいけば、人事部はオファーを申請し、すぐにオファーを受け取ります。

要約:効率は高く、インタビュアーも非常に専門的です。給料はベースプラス株で構成されており、今年は株価が大幅に上昇したため、昨年入社した学生は大金を稼ぎました。

バイトビート

配信方法の再開:ヘッドハンティング

  1. 1ラウンドのインタビュー:基本的な技術面接。プロジェクトについて話すのではなく、オペレーティングシステム、コンピュータネットワーク、Javaの基本、データベース、キャッシュ、分散などの基本を直接尋ねてください。質問は非常に幅広いものです。最後に、アルゴリズムの質問を書きます。
  2. 2ラウンドのインタビュー:プロジェクトとシステム設計のインタビュー。Moments、12306システムなどの設計など、システム設計に焦点を当てます。また、後でアルゴリズムの質問を作成する必要があります。
  3. 3回の面接:2回目の面接がうまくいかなかった可能性があり、面接官のスケジュールが変更され、2回目の面接が行われました。このラウンドでは、基本とシステム設計についても検討し、スムーズに合格しました。
  4. 4ラウンドのインタビュー:クロスインタビュー。このラウンドでのインタビューの経験はかなり悪いです。インタビュアーは途中で電話をかけ、オンラインの問題に対処しました、ハハ。

当時はすでにいくつかのオファーがあり、面接のプロセスは比較的長く、基本的には週に1回だったので、あまり長く遅らせたくありませんでした。後で人事部が最後の技術的任命をしたとき、私も直接拒否しました。

概要:基本的な調査は非常に広く、アルゴリズムの質問は頻繁にテストされるような質問ではないため、バイトインタビューはすべてのインタビューの中で最も困難です。難しい問題に遭遇することもありますが、運の問題でもあります。バイトにインタビューする場合は、アルゴリズムを事前に準備し、可能な限りスキャンする必要があります。それまでにトピックを見ていなかった場合、15分以内に書き出すのは困難です。

経験のまとめ

多くのインタビューでは、基本的な知識、プロジェクト、アルゴリズムなど、さまざまな調査が要約されています。

  • 基本的な知識は、細かいところまで準備してその理由を知るのに時間がかかるので、面接で聞いても正直になれます。たとえば、JavaのAQSの原則、マルチスレッド、JVMメモリなど、Spring、MySQL、Redis、Kafka、ES、ZKなどのフレームワークは非常に精通している必要があります。
  • プロジェクトの場合、アリはプロジェクトにもっと注意を払うので、プロジェクトが何をしたかを理解するだけでなく、プロジェクトのハイライトや違いを抽出する必要があります。なぜこのテクノロジーを選択するのか、アーキテクチャを設計する方法、拡張する方法将来、問題点配置方法など、面接前に考えておく必要があります。
  • アルゴリズム、これは言うことではありません、それはより多くの質問を磨くことです。私は非常に多くの企業にインタビューしました。アリを除いて、他の企業は各ラウンドでアルゴリズムの質問をするように求めます。したがって、インタビューの前に、DFS、BFS、ツリー、欲張りアルゴリズム、一般的なDPなどのさまざまな一般的なアルゴリズムに精通している必要があります。 、など。時間があれば、質問をブラッシュアップして感じを見つけてください。

面接の質問の共有

このパートでは、面接の準備プロセスと面接中に遭遇したいくつかの基本的な質問を共有します。質問を確認できます。

1.Javaの基本

1.1ハッシュマップとconcurrentHashMap(強調)
1.2セット関連の問題1.3Java
ジェネリックの理解1.4ConcurrentSkipListMap
のクエリプロセスとは何ですか?クエリと挿入の時間計算量とは何ですか?1.5Java
バイトストリーム文字ストリーム
1.8パッケージタイプと基本タイプ比較の質問1.9rewriteequals
とハッシュコードの理由
1.10stringBuilderとstringBufferの違い1.11Javaシリアル化の
原則1.11Javaの
いくつかの新機能8、9、10、11 1.12Java
の4つの修飾子の制限された範囲。
1.13Objectクラスのメソッド。
1.14浅いコピーと深いコピー
1.15インターフェイスと抽象クラスの違い。JDK8インターフェイスを実装できることに注意してください。
1.16動的プロキシの2つの方法とその違い。
1.16値渡しと参照渡しの違い、Javaはどのようなものですか、値渡し参照はありますか?
1.17ループ中にArrayListが削除された場合、問題が発生するのはなぜですか?
1.18例外とエラーの違い
1.19newキーワードとnewinstance()メソッド
1.20 Map、List、Setは、それぞれ、スレッドセーフクラスとスレッドセーフクラスについて説明します。1.21Java
はSQLインジェクションを防ぎます
1.22リフレクションの原則と使用シナリオ
1.23静的対最終?クラスが継承されるのを防ぐ方法
1.24メモリリーク?メモリ不足ですか?
1.25 Vsオーバーロード
1.26Lambda式を書き換えて
、1.27ClassNotFoundExceptionとNoClassDefFoundErrorの違いを実現します

2.並行性とマルチスレッド

2.1volatileキーワードの原則2.2Javaのロックの
理解
2.3悲観的なロックと楽観的なロック
2.4CASの理解、安全でない状態で
JavaにCASを実装する方法2.5 Javaで
スレッド作成する方法スレッドの実行と開始の違いは何ですか?同じスレッドが2回開始されるとどうなりますか?
2.6 Javaスレッドプールの原則は?スレッドプールとは何ですか?スレッドプールパラメータとは何ですか?
2.7 ThreadLocalとそのアプリケーションシナリオ
2.8スレッドセーフの理解
2.9ロックする必要があるのか​​、そしてその理由は?
2.10ロックの基本原則。同期、ロック、ReentrantLock、ReadWriteLock。
2.11 AtomicIntegerはどのようにして原子修飾を実現しますか?
2.11分散環境でスレッドセーフを確保する方法。
2.12デッドロックの4つの必要条件?
2.13スレッドを中断する方法
2.14スレッドのステータスはどうなっていますか?
2.15待機、通知、notifyAll、待機、シグナル、スリープ、
yield2.16呼び出し可能および将来の理解。
2.17 synchronizedキーワードの使用法、長所と短所。
2.18再入可能ロックの使用と実装の原則、コピーオンライト、読み取り/書き込みロック、およびセグメント化されたロックのプロセス
2.19 ABC 3スレッドはどのようにして順次実行を保証しますか?
2.20デュアルスレッド代替印刷パリティ(Ali)

3.JVM

3.1一般的なGCアルゴリズム、CMSコレクター、G1
3.2jvmメモリモデル&& Javaメモリモデル
3.3オブジェクトをリサイクルできるかどうかを判断する方法は?どのGC到達可能性分析がGCルートと見なされますか?
3.4エデンサバイバー面積の割合、なぜこの割合、エデンサバイバーの作業プロセスなのか。
3.4 fullgcはメソッド領域を再利用できますか
3.5どのオブジェクトが古い時代に入りますか?新世代がレプリケーションアルゴリズムを使用するのはなぜですか?
3.6 GCによって「ゴミ」と判断されたオブジェクトは常にリサイクルされますか
3.7若いgcを強制することの問題は何ですか?
3.8クラスのロードのプロセスJavaが親の委任モデルを設計するのはなぜですか?
3.9マイナーgcはいつトリガーされ、フルgcはいつトリガーされますか?
3.10G1とZGCの違い
3.12強参照、弱参照、ソフト参照を知っていますか?GCはそれらに対して何をしますか?
3.13 JVMメソッドスタックの作業プロセス、メソッドスタックとローカルメソッドスタックの違いは何ですか。
3.14 JVMスタック内の参照は、ヒープ内のオブジェクトとどのように関連していますか。
3.15エスケープ分析テクノロジー。
3.16JavaがメモリをGCできるかどうか。
3.17一般的に使用されるJVMチューニングパラメータ。
3.6特定のパフォーマンスチューニング手順はありますか?fullgcがいっぱいになると、インターフェイスの応答速度が非常に遅くなります。
3.18ダンプファイルの分析。
3.19JavaはアクティブにGCをトリガーしますか
3.202つのJavaプロジェクトが同じマシンで開かれている場合、Java仮想マシンはいくつありますか?
3.21javacコンパイル期間のワークフロー

4.春

4.1 SpringIOCプロセス
4.2循環依存を解決する
方法4.3Spring AOP、動的プロキシを実現する方法
4.4
Spring BeanDefinition関数4.5Spring @Autowired(@Resource、同様)実装原則
4.6 Beanライフサイクル
4.7 Beanのデフォルトのアクション範囲?他の行動範囲?
4.8 Springのシングルトンはどのように実装されていますか?
4.11さまざまなユーザーのSpringMVCログイン情報は、どのようにしてスレッドセーフを保証しますか?
4.12 Springはどのようなデザインパターンを使用していますか?
4.13SpringがBeanを注入する方法。
4.14IOCとは何ですか。依存性注入とは何ですか。
4.15 Springの特徴(IOCおよびAOP)
4.16さまざまなスコープ、aop実装の実装、4.17Spring
トランザクションおよび実装モード
4.19Spring、SpringMVC、およびspringBootを理解する
4.20 @transactionalアノテーションは、どのような状況で、なぜ失敗するかを理解します
4.21 SpringMVCのコントローラーは、フロントエンドからのパラメーターとデータの間でどのように1対1で対応しますか。
4.23 Springは、所有するBeanをどのように維持しますか。
4.24カスタムアノテーションの実装。
4.25 IOCフレームワークを自分で設計する方法4.26Quartzはどのように
タイミングタスクを完了しますか?
4.18サーブレットのライフサイクル、それがgetリクエストかpostリクエストかを判断する方法、およびバックグラウンドでセッション共有を実装する方法。Java Webフィルターのライフサイクルは?フィルタとインターセプタの違い。
4.19BeanFactoryとFactoryBeanの違い4.20Spring4.21で
同じIDまたは名前のBeanを構成することによって発生する可能性のある問題と解決策
Webフォームの繰り返し送信を防ぐ方法

5.メッセージミドルウェア

5.1 kafka、kafkaコントローラーの選出プロセス、およびkafkaリーダーの再選出プロセスのコンポーネントは
ですか?5.2 kafkaは元々解決するように設計された問題は何ですか?
5.3kafkaがメタデータを保存するためにdbではなくzookeeperを使用するのはなぜですか5.4Kafka
は生産は1つ、消費は1つだけですか?
5.5 Kafkaの消費モデルはありますか?カフカはどのように秩序ある消費をしますか?カフカの大量消費ソリューション?失われたメッセージを解決する方法は?
5.6カフカのレプリカの役割は?

6.アルゴリズム

6.1 B +ツリー
6.2ハッシュとB +ツリーの違いは?それらはどのようなシナリオに適用されますか?どちらが良いですか?
6.3赤黒木、時間計算量について知っていますか?5つの機能
6.4
ヒープソートの時間計算量6.5クイックソート、ヒープソート、挿入ソート
6.6一貫性のあるハッシュアルゴリズム、一貫性のあるハッシュアルゴリズムアプリケーション

 

より高度なJavaが必要な試験の質問と回答

 

情報取得方法

フォロー+いいね!追加するだけです

おすすめ

転載: blog.csdn.net/Java0258/article/details/111410286