序文:
絶対的な天才はなく、継続的な献身だけです。私たち普通の人たち一人一人にとって、運命を変えるために努力と運だけに頼ることができますが、運が悪ければ、努力の割合を増やすことしかできません。
2020年7月、ByteDanceのJavaバックエンド開発者になれたのは幸運でした。タイトル通り、アウトソーシングを辞任しました。10,000時間後、ByteDanceに参加してオファーを勝ち取りました。アウトソーシングから大規模な工場に入るのがいかに難しいかを同僚は知っていると思います。私は自分自身の現実がなければできません。幸いなことに、私がとるすべてのステップは大きな足跡を残します。
次のコンテンツに関連するもの:インタビューの質問(回答を含む)+学習ノート+電子書籍+学習ビデオ、お気に入りの記事のように無料で共有できるようにパッケージ化され、私をフォローしてから、アシスタントvx:bjmsb2020を追加して無料でダウンロード方法を入手してください。
A:Bytedance IES相互エンターテインメントインタビュー体験の復元(舞台裏のTik Tok)
<1> ByteDance Douyin4面接の質問
個人的にはリプレイの癖があるので、面接バイトが打たれたら、基本的に各ラウンドの最後に面接の質問をまとめます。もちろん、実際の状況とは少し違うかもしれませんが、大きな違いはありません。基本的に私の記憶の限界。
Java部分:
- 同期、ロック、AtomicIntegerの基本原則
- HashMap、ConcurrentHashMapの基礎となる構造原理
- サービスの登録と発見について話します(このパートでは、主にSpringcloud Eurekaと一部のZookeeper、Zookeeperの選出メカニズムについて説明します)
- Spring AOPの実装では、siglibは最終的に変更されたクラスをプロキシできますか?
- JVMガベージコレクションプロセス、およびガベージコレクタについて詳しく説明します
- 強参照、ソフト参照、弱参照、ファントム参照のアプリケーションシナリオ
コンピュータネットワーク:
- 輻輳制御とフロー制御
- 高速再送信とタイムアウト再送信
- クライアントが4つのウェーブの後に2MSLを待つのはなぜですか
- DNS解決プロセス
- http2.0、http3.0
- https接続プロセス
- CA証明書の検証プロセス
- RPCフレームワークを理解していますか?
- udpに基づいて信頼性の高い伝送を設計する方法は?
- tcpはどのようにしてデータのセキュリティを確保しますか?ディスクはどのようにしてデータが失われないようにしますか?
オペレーティング・システム:
- ブロッキングIOおよび非ブロッキングIO
- プロセスとスレッドの違いは何ですか?また、通信方法は何ですか?
- 仮想メモリと物理メモリ
- ctrl + cによるLinux割り込みの原則
- コルーチンの効率はどこにありますか?
MySQL:
- Innodb、B +ツリー、クラスター化インデックス、および非クラスター化インデックスの違い
- 1000万個のデータ、b +ツリーの高さはどれくらいですか?
- なぜbツリーの代わりにb +ツリー、赤黒木を使用するのですか?
- ジョイントインデックスを設計する際に注意すべき点は何ですか?
- ジョイントインデックスの左端の原則の基本原則
- mysqlのMVCCとファントムリーディングを解決するかどうか?
- 時間の降順でページクエリを実行するための手書きSQL
- やり直しログ、ビンログ、元に戻すログ
カフカ:
- kafka的rebalence
- ISR
- 新しいコンシューマーが追加された場合はどうなりますか?
- データの整合性を確保する方法は?
Redis:
- RDBとAOFの違い
- RDBがスレッドではなく子プロセスをforkするのはなぜですか?
- Redisの基本的なデータ型
- zsetの基礎となるデータ構造、ジャンプテーブルの高さはいつ増加しますか?
- 分散Redis、キャッシュ、データベースの読み取りと書き込みに一貫性がなく、回答が遅れ、二重に削除されます
- インタビュアーは、redisについて気軽に話すように依頼したので、キャッシュの浸透、ブレークダウン、アバランシェ、および処理方法についても話しました。
シーンの質問とインテリジェンスの質問:
- スマートタイピングプロンプトとエラー訂正の原則により、設計が可能になりますが、どのように行いますか?
- 訪問したすべてのWebサイトのレコードコレクションがある場合、現在のWebサイトが訪問したかどうかをすばやく判断するにはどうすればよいですか?(ブルームフィルターを検討してください)
- Webサイトからダウンロードするときにプログレスバーを実装するにはどうすればよいですか?
- 64頭の馬、8トラック、少なくとも最速の4頭の馬を何回見つけることができますか?
- オペレーティングシステムはあなたに空きメモリの一部を提供します、あなたはそれを使用してリサイクルするためにどのように設計しますか?
ハンドティアコード:
- 棒グラフの長方形の最大面積leetcode84
- k番目に小さい数を見つけ、ヒープ以外の方法で実行します
- m軒の家をn色で塗り、隣接する家の色を変えます。Cost[i] [j]は、家iをj色で塗りつぶすコストを表し、最小の総着色コストを求めます。(LeetCodeの元のタイトル)
その他:(人事とリーダーの両方がいくつかの開発質問をしました)
- あなたが遭遇した最大の後退は何だと思いますか?それを解決する方法は?
- キャリアプランニング
- バイトビートの理解
- バイトは若い会社だと思いますか?若者はコアコンピタンスですか?
- 尊敬する人はいますか
- 会社の地理的要因に関係なく、どの都市で最も働きたいですか?
- いつもの趣味は何ですか?
- あなたはブログが好きですか?どの本を読むべきですか?
質問バンクをください(1:BATの最初の面接の質問)
私の質問バンクを配ってください(2:特別な面接の質問)
<2> ByteDanceインタビューの概要(いくつかの経験とヒント)
- バイトバウンスはアルゴリズムにとって非常に重要です。事前に質問を読む必要があります。そうしないと、基本的に役に立たなくなります。運が良ければ、元の質問が表示される場合があります。もちろん、あなたはアルゴリズムの神です。ここで時間を無駄にする必要はありません。
- 基本的に、各ラウンドには難易度の異なる1から3程度のアルゴリズムの質問があります。通常、質問は面接の状況に基づいており、面接官のパフォーマンスを考慮しますが、それほど難しくはありません。
- アルゴリズムの質問を受け取ったときは、すぐに答えないでください。最初に、あなたのアイデアについてインタビュアーに相談することができます。
B:なぜBytedanceに行きたいのですか?(バイトビートの利点)
①福祉
私は時間ではありませんし、Bytedanceを宣伝しているわけでもありません。Bytedanceの福利厚生は間違いなく第一線の工場で最高の1つであることを述べたいと思います。また、アウトソーシングのバックグラウンドを持っていたので、こういう扱いをすることでギャップがはっきりし、バイトビートで仕事ができるのが一番の財産だと感じました。
利点については、ここにいくつかのカジュアルな言及があります:
- 柔軟なパンチカード
- 住宅補助金(金額が非常に高く、非常に人道的です)
- 無料の3食、アフタヌーンティー(太る)
- 無料のジム
- 16インチMacBookのトップ
- さまざまなホリデーパッケージ
②膨大な知識ベース
ByteDanceは私にとって大きな知識ベースです。これを言う理由は、面接のプロセスと詳細から、入社後の仕事の手配まで、私は違った感触を持っていたからです。これらの観点から、会社は従業員のキャリアプランニングを非常に重視しており、上司とメンターが率先してこの側面を伝えるようにアプローチしていると感じられます。これは以前のアウトソーシングとはまったく異なります。そして、このコミュニケーションの過程で、私が得たのはほんの少しではありません。
私が最も感心しているのは、Byteには、多数のガイドや知識の寄託、さらには他の製品ラインによって編成された技術文書やビジネス文書にナビゲートするための統一された入り口があることです。
③承認を見ました
BYTEに来たとき、私は認識を見て、帰属意識を獲得しました。ByteDanceは若いですが、物事を行う上で共通の目標があります。ここで人々は「Byte Fan」について話します。これはルールに拘束されず、一種の精神的な食べ物であり、本質的には一種の価値の識別です。同じ価値観を持つ人々が集まるのはたまたまです。
④大変な作業ですが、疲れていません
Bytedanceは非常に若い会社です。第一線のインターネット企業にとって、996が標準であり、Bytedanceも「残業」という言葉と切り離せません。しかし、バイトが私に与える最大の違いは、それが忙しくて活気に満ちているということです。しばらくバイトで働いていて、ここのリズムに追いついていると思います。大変ですが、充実した職場環境の中で何かを得て成長したので、まったく疲れません。会社で残酷に成長すると同時に、私は個人的に急速に成長しました。
また、大きな工場で「殴る労働者」が一生懸命働くだけだとは思わないでください。バイトピープルの最大の特徴は、若いことです。遊ぶこともできます。サイクリング、狼男殺しなど、誰もが自分の趣味を持っています。フィットネス、写真、ヨガ。待ってください、これは私の以前の大廠人の印象とは明らかに異なり、少しずつゆっくりと影響を受けています。
⑤反射:作業効率に注意してください
以前は仕事の効率と時間管理はかなり良いと思っていました。少なくとも、誰もがやりたいことをしたいのにやらなかったことをするために時間を費やすことができましたが、今ではこれは単なる幻想かもしれないことに気づきました。簡単なことをしなさい、もちろんあなたはそれを感じません。時間のプレッシャーの下で、プロジェクトのスケジュールが比較的タイトであっても、残業と996をすることは同じようです。私たちは通常、効率を改善し、同時により多くの作業を完了する方法を検討するのではなく、時間を延長することをいとわないです。もちろん、多くの自明の客観的な理由があります。
バイトに来てから、周りの同僚の仕事の詳細から「効率」とは何かを見ました。
C:アウトソーシングは私に何を教えてくれましたか?(何が蓄積されましたか?)
アウトソーシングでは何も学べないと思う方も多いのですが、私はそうは思いません。どんな環境にあっても、どんな結果を生むのかは自分です。そのため、ここ数年のアウトソーシングでは、機械化された単一のコードタイピングではありません。この過程で、積極的に見直し、要約し、学びます。ゆっくりと蓄積されてきた働き方が、今日の私になりました。「質の変化」。
アウトソーシングで何を積み上げてきましたか?
- コード効率;
- さまざまなプロジェクトやビジネスの理解;
- 追加、削除、修正、チェックの使用に習熟していること。
アウトソーシングでは、何をレビューしましたか?結論は何ですか?(いくつかのブログを書き、いくつかの要約メモを作成し、PDFを添付しました)
- Javaアーキテクチャの成長に関する注意事項
- Redisコアテクニカルノート(調査の概要)
- Springファミリーバケットスタディノート(SpringBoot + SpringMVC + SpringCloud +ソースコードなど)
- その他
D:今後3年間の計画はどうですか?
1.開発の方向性を決定する
プログラマーのキャリアは大きく5つの段階に分けられます。
- 第一段階:2〜3年、ジュニアプログラマー
- 第2段階:3〜5年、中級プログラマー
- 第3段階:4〜7歳、シニアプログラマー
- 第4段階:5〜8年、インターネットアーキテクト、ビッグデータエンジニア
- 第5段階:8年以上、テクニカルディレクター、テクニカルディレクター、チーフアーキテクト
現在、私は第2段階にあり、一定の実務経験があり、いくつかのプロジェクトを独立して行うことができ、独自のコーディング習慣を持っています。チームで重要な役割を果たすこともできます。次の1〜2年で、私は間違いなく第3段階、さらには第4段階に移行する予定です。
2.学習ルートを整理します
早く成長したいのなら、合理的で正しい学習ルートが最も重要なので、現在の研究では学習ルートを整理することが最も重要です。(個人学習ロードマップは以下の通りです)
目標:自分自身でなり、専門分野で他の人を指導する能力を持つことができる
学習コンテンツ:並行プログラミングとJVM実際の戦闘+キャッシュミドルウェア+メッセージミドルウェア+検索ミドルウェア+高同時実行性+高可用性+拡張+ネットワーク通信とプロトコル+分散型およびマイクロサービス+分散型権限制御+マイクロサービスヒューズのダウングレード現在の制限付き+マイクロサービスリンク追跡+基盤となるソースコードの詳細な解釈+第一線の大規模工場の分散シナリオにおける実際の戦闘
3.学習方法
私の個人的な学習方法は非常に単純で、体系的な学習に断片化された時間を使用しています。学習方法については、個人的には本や文書を動画と組み合わせて読む方法が好きで、個人的にはそれらを整理しています。
- 本の文書を読む:
- ビデオを見て学ぶ:
エンディング:未来のビジョンと祝福
学歴のメリットがない人にとっては、アウトソーシングは仕方がないことは知っていますが、将来の進路はどれだけ取るかによって異なります。安定性が好きなら、一歩一歩があなたに適していますが、アイデアがあり、平凡になりたくない場合は、アウトソーシングに埋もれてはいけません。
最後になりますが、今後も順調に成長し、お早めにp7を獲得していきたいと思います!同様に、私もあなたが人生の理想を実現することを望みます、そして私たち全員がますます良くなることを願っています、そして私たちはお互いを励まします!
友情の共有:記事のコードワードは簡単ではありません。いいね+転送+コメントの波をサポートしたいと思っています。
記事に記載されている面接の質問、メモ、電子書籍、学習ビデオが必要です。お気に入りの記事を気に入ってフォローしてから、アシスタントvx:bjmsb2020を追加して、無料でダウンロード方法を入手できます。