序文
最初に私の状況についてお話しします。8月にインストラクターから優秀な研究の資格がないという通知を受け、819試験に合格する準備を始めました。9月にHuaweiの大規模な秋の募集がありました。プラチナコードを取得し、バイトインタビューの準備のために大学院入学試験を中止することにしました。10.13にインタビューの準備をしました。3ラウンド後、10.19にオファーコールを受け取りました。秋の募集は終了しました。この期間中に360を取得し、オファーを保持しましたが、拒否しました。私の目標は明確だからです!ByteDance、面接がなくても諦めないでください。実際、Tencentとヘッドラインは十分に支払われていますが、若くて軽薄です。その結果、ByteDanceのオファーを受ける前に9つの顔に直面します。
この記事では、私の9面バイトビートインタビューの経験について説明します。
私のByteDance難しいインタビューの旅
片側(〜45分)
1.プロジェクトを紹介し、インターンシップの仕事内容と考えについて話します(〜10分)
2.メモリリークとは何ですか?Androidのメモリリークシナリオとは何ですか?その理由は何ですか?
3. JVM GCプロセスとGCアルゴリズムとは何ですか?
4.プロセスとスレッドの概念、Androidでマルチスレッドを実現する方法は?(スレッドハンドラーAsyncTask IntentServiceなど)
5.ハンドラーの原理と使用法
6.ハンドラーはスレッド(Looper)にどのようにバインドされ、Looper.loop()がエンドレスループとして設計されている理由
7.Javaのいくつかの内部クラスの違いは何ですか
8.アクティビティのライフサイクルと起動モード
9.タイトルの記述:バイナリツリーの右側のビュー(レベルシーケンストラバーサルで十分です)
片側は比較的短く、質問は比較的基本的です。約30分後、両側が開始されます。
両面(〜1時間30分)
1.はじめに
2.プロジェクトを紹介します。なぜ自分でAndroidを学ぶ必要があるのですか(約5分)
3. Androidはどのようにマルチプロセスを実現し、アプリケーションシナリオは何ですか(悪い答え)
4. AndroidのIPCメカニズム(バインダー)を理解していますか(答えは良くありません)
5. 2つのキュー(FIFO)を使用してスタック(FILO)を実装する方法
6. HashMapとHashTableの違い、HashMapの原理と実装、 hash()のアルゴリズム
7.独自のハッシュ計算を設計する場合、設計方法と理由(回答の主要な番号は残りです)
8.文字列hashCode()およびオブジェクトhashCode()
7.仮想メモリと物理メモリの概念と関係、メモリページングのスケジューリングアルゴリズム
8. LRUキャッシュを実装する方法(リートコードT146を参照)
9. java.lang.Objectクラスを自分で作成できますか?また、どのクラスがシステムによってロードされますか?
10.Javaでのジェネリックの実装
11.一般的な並べ替えアルゴリズムを知っていますか、手作業ですばやく並べ替えを記述します
12. synchornizedキーワードの原則である、Javaでのロックの方法、悲観的ロックと楽観的ロックの実装は何ですか
13.デッドロックの条件と解決策、銀行家のアルゴリズムについて話します
14. TCPのスリーウェイハンドシェイクが4回振られたのに、なぜ4回振られたのか
15. TCPフロー制御アルゴリズム(スライディングウィンドウ)、輻輳制御アルゴリズム
16.ユーザーが頻繁にクリックして新しいアクティビティを開くことによって引き起こされるマルチインスタンスの問題を解決する方法(アクティビティ起動モード)
17.2つの非周期的な単一リンクリストが交差するかどうかを判断する方法
18.タイトルを書く:leetcode 445
19.修辞的な質問
Java / OS /アルゴリズムを中心に、二次的な質問の量は非常に多いですが、特に答えるのが難しい質問はありません。注意深く準備すれば、ほとんどの質問に答えることができます。インタビュアーもとてもフレンドリーで、たくさんのガイダンスやヒントをくれました。
三者面接官のタイミングにより、2日後のアポイントメントの三者
三方(〜45分)
1.はじめに
2.インターンシップの仕事について教えてください。自分でやったのですか?どのような困難に直面しましたか?結果はどうでしたか?
3. RecyclerViewはアイテムのキャッシュをどのように実装しますか?ListViewとの違いは何ですか(アイテムが使用されたために尋ねられました)
4.タイトルを書きます:leetcode 1233
5.設計上の質問:WeChat連絡先リスト機能
(1)連絡先を追加するためのAPIを設計します(可能な方法、データフォーム、およびインターフェイスパラメータの観点から回答します)
(2)連絡先リストのUIを実装する方法(回答はRecyclerView)
(3)AZイニシャルのクイックポジショニング機能の実現方法
6.それは独学のAndroidですか?なぜこの方向を選んだのですか?自分で教えたい学生のために何か経験がありますか?
7.出身地と上海で働きたい理由
8.修辞的な質問
三面的な質問は多くありませんが、ほとんどの質問には標準的な回答がないため、難易度は実際には1つか2つよりも高くなります。
四方(1時間14分)
主にJavaと仮想マシンについて質問し、androidについて少し質問しました
。1。インターンシッププロジェクトの概要と質問への回答
2.リフレクションとプロキシの違い、動的プロキシ、静的プロキシ、2つの違い、プロキシモードのUML図
3.単語コード節約テクノロジー
4.仮想マシンの親の委任と利点
5.仮想マシンスタックの役割と、どのような状況でスタックオーバーフローに送信されるか
6. GCRootを実行できるのは誰か、カウント方法が到達可能性ほど良くない理由
7.なぜ新しい学生を分割したいのか世代と旧世代を区別する方法
8.GCアルゴリズムは
、9。クラスのロード、メソッド領域に格納される内容、含まれるタイプ情報、および2つのクラスが等しいかどうかを判断する方法のプロセスを導入します。
10. HashMapのputメソッド、展開方法、HashMapとしてのクラス、実装するメソッド、equalsとhashCodeの違いと接続
について説明します。11。メッセージメカニズムについて説明し、ThreadLoacalについて説明し、ハンドラー処理情報について説明します。 (handleMessage以外の)方法はありますか、MessageQueueの長さの制限はありますか、Androidにはメッセージの数がありますか?
12.アクティビティAからアクティビティBへのジャンプのライフサイクルプロセス13.アクティビティ
A(標準モード)がB(シングルトンモード)にジャンプし、次にBがAにジャンプし、戻ったときに何が起こりますか?
14。 InVisibleとGoneの違い、GoneとViewStub15の違い
。文字列に初めて文字が表示されたとき
5面(34点)
コンピュータネットワーク関連
1.osi 7層アーキテクチャ、物理層の機能2.URLの
入力後に発生する一連のこと
3.DNSで使用されるプロトコル
とその方法4.TCP 3ウェイハンドシェイク、およびフロー制御
5。 HTTPメッセージの内容6.HTTP
とHTTPSの違いは何ですか、暗号化アルゴリズムは何ですか7.HTTP
の応答コードは何ですか。
8.getとpostの違い
9.2つの順序付けられた配列、中央値を見つける
六面(50分)
アンドロイドの詳細な側面とインターンシップの経験
1.インターンシッププロジェクトに関連する(いくつかの特定の実装といくつかの重要な問題を含む)2。LayoutManager
の役割
3. RecyclerViewの使用法の理解と、二重の滝の実装方法4.SDKの
設計方法(詳細)
5。カードをプレイする、5枚のカードを引く確率はフラッシュ、5枚のカードを引く確率はまっすぐ
6. RNとReduxの理解、利点、使用法、および仕事におけるandroidとRNの比率
7.シングルトンモードの利点、いつシングルトンを使用すべきではないのですか?8。SP
の内部実装を理解していますか?シリアル化を実現する方法
9.インジェクションを理解していますか?
Bytedance、私は合計3つのインタビュー、合計6つの側面を持ち、ついにオファーを受け取りました!
ByteDanceによる前回のインタビューでは、3人のインタビュアーのうちの1人が私のリーダーでした。彼は当時、1週間か2週間しかできない仕事を与えられたらどうしますかと尋ねました。私は、最初にあなたと話し合い、あなたの意見を表明します。あなたが私のために手配することを主張するならば、私は残業します。。。きちんとできます。。。。それが完了するまで。。。。彼は笑って笑った。。。彼は私にこの質問をしました、そして私は彼がリーダーであることを知っていました。そして、私はこの問題が私を救ったかもしれないと思います。正直なところ、私は比較的率直な山東の男です。残業は無意味だと思いますし、リーダーも私をもっと率直に好きかもしれないので、私を手に入れました。自分にチャンスを与えてくれたキャラクターにとても感謝しています。
もう1つの質問は、Huaweiを拒否した理由です。実は、華偉さんの給料はかなりいいです。時を除いて少し見下されている気がします。主な理由は、面接が水っぽすぎて、入る人のレベルが高くないと感じて、行きたくないからです。 ....私は常に、高レベルの環境でのみ、より大きな成長を達成できると信じてきました。もちろん、Huaweiはまだ非常に強力であり、私は本当に数年以内にHuaweiにジャンプしたいと思っています。。。。
終わり
人生を変える近道はありません。自分でこの道を歩む必要があります。深い思考、絶え間ない反省と要約、学習への熱意の維持、そして段階的に独自の完全な知識システムを構築することが、勝つための究極の方法です。プログラマーが着手すべき使命でもあります。
上記の高度なインタビューの質問とシステム学習資料は、すべての人と無料で共有できます。フルバージョンが必要な友達は、ここをクリックしてすべてのコンテンツを表示してください。