Toutiao HRはクレイジーです。今年は誰も転職していません。給料は40wに達しました.....(私のKPIはどうですか?)

前書き

2月末で、これまでの年月によれば、今は金、銀、銀の転職の季節です。

今年の採用シーズンはよく知られている難しさですが、1年ほど前に辞任したあなたは今大丈夫ですか?

当初の計画はきちんと計画されており、すべてがコントロールされているように見えましたが、突然の流行により、私たちは困難に無力感を覚えました。数年前は多くの機会があり、一生懸命働いていればお金を稼ぐことができましたが、流行の到来によりこの職場法は崩壊しました。

友達に勧められて試してみることにしましたが、ようやく2週間ほどかけて年俸45w以上のヘッドラインオファーが届きました。

1.ヘッドラインインタビューの準備方法は?

ヘッドラインインタビューは他の大企業と似ているかもしれませんが、重要な点はこの小さな違いであり、他の人とは異なる可能性があります。次の側面から準備できます。

1.いくつかの面接の質問のソースコードを慎重に準備します。たとえば、適度な面接の質問に答えるときは、常にソースコードの観点から始めます。たとえば、HashMap、マルチスレッドロック、ビッグデータフレームワークのソースコードの一部などの一般的なコレクション。

2.プロジェクトの難点を慎重に準備します。大手メーカーとの打ち合わせでは、プロジェクトの難しさを聞かれるのは避けられず、普通のバグで過去を曖昧にすることはできません。ここでは、プロジェクトで使用されているテクノロジースタックから始めて、テクノロジースタックがプロジェクトで抱える問題を見つけ、それを自分のプロジェクトに入れて、理解できる人を見つけることができます。すべてを理解するのが最善です。 。

3.会社のテクノロジースタックの使用を的を絞って理解する。たとえば、ToutiaoはGoを使用しているので、誰もが知っているので、サプライズスタディをしてみませんか?たとえば、業界の人々は、Toutiaoが最初にKylinフレームワークを使用し、次にゆっくりとClickHouseに切り替えたことを知りました。次に、2つの違いを理解する必要があり、Toutiaoのビジネスシナリオと組み合わせることができます。

第二に、面接の質問が詳細に説明されています

[片面-基本面]

  1. Androidを開発したとき、UIドラフトのピクセルをどのように適応させましたか?

Androidの現在の安定した効率的なUI適応スキーム、AndroidAutoSize、今日のヘッドライン画面適応スキーム、および今日のヘッドラインスルー反射補正システムの密度値dpi:画面ピクセル密度は、システムソフトウェアで指定された単位サイズあたりのピクセル数を指します。システムのファクトリ構成ファイルに書き込まれる固定値。ppi:これは画面のピクセル密度でもありますが、これは物理的な概念であり、客観的に存在し、変更されません。dpiは、物理ピクセル密度を参照した後にソフトウェアによって手動で指定された値です。これにより、特定の間隔の物理ピクセル密度がソフトウェアで同じ値を使用することが保証されます。dpとアダプティブレイアウトおよびウェイトレシオレイアウトにより、90%のアダプテーションを解決できます。問題たとえば、すべての1080P携帯電話のdpiが480であるとは限らないため、GoogleのPixel2(1920 * 1080)のdpiは420です。幅と高さの修飾子の適応:市場に出回っているすべてのAndroid携帯電話の幅と高さのピクセル値を使い果たします。 、set参照の解像度、他の解像度は、対応するdimensファイルのサイズに応じて、さまざまなサイズのフォルダーで、この参照解像度に従って計算されます。ただし、致命的な欠陥があります。つまり、フィットするように正確にヒットする必要があり、アプリパッケージのサイズも大きくなります。

  1. 等しい値を持つ2つの整数オブジェクト==それらが等しいかどうかを判断するために比較しますか?
  2. アクティビティAはアクティビティBにジャンプし、アクティビティBは戻るキーを押して、2つのプロセスのライフサイクルに戻ります。
  3. 子スレッドをcontext.startActivity()(ApplicationContextなど)にすることはできますか?問題はありますか?

デモを書いて試してみても大丈夫です。しかし、何が問題になるのかは解明されていません...

  1. Handlerメカニズムの全体的なプロセス; Looper.loop()がメインスレッドをブロックしない理由; IdHandler(アイドル時間メカニズム); postDelay(()の特定の実装); post()とsendMessage()の違い;どのような問題が必要かハンドラーを使用するときとそれを解決する方法に注意を払う必要がありますか?

質問は非常に詳細なので、できる限り準備することができます。メモリリークを回避するために、一連のハンドラーをカプセル化しました

  1. ネイティブ、H5、およびRNページが混在してジャンプする場合、ページクリアのブリッジを実現するにはどうすればよいですか?

自分で行ったプロジェクトの場合は、原則を明確に説明し、明確に説明していない場合は絵を描きます。

  1. 画面上のビューの表示部分のパーセンテージを計算するにはどうすればよいですか?
  2. ClassLoaderの親委任メカニズム-
  3. Httpsの原則を簡単に紹介します
  4. メモリリークの原因とその修正方法を教えてください。
  5. 大きな画像をダウンロードした場合に、どうすればメッセージが表示されないようにできますか?
  6. UIの最適化を行いましたか?また、何をしましたか?

GPUのオーバードローをデバッグし、オーバードローを適切な範囲に減らします。ネストレベルとコントロールの数を減らし、ビューツリー構造をできるだけフラットに保ち(見やすくするために階層ビューアーを使用)、レンダリングする必要のないすべてのビューを削除します。 ; GPUを使用してレンダリングツールを構成し、問題が発生した特定のステップを特定し、TraceViewを使用してコードを正確に特定します;タグを使用し、マージしてネストレベルを減らし、viewStubの遅延初期化、およびインクルードレイアウトの再利用(マージと組み合わせて使用​​) )

  1. WebViewとJS、shouldOverrideUrlLoadingとonJsPrompt-の相互作用の違いは何ですか?
  2. FlutterとKotlinと連絡を取りましたか?
  3. その他のプロジェクト関連の問題
  4. アルゴリズム-二分木はk番目のレベルのノード要素を出力します

2面-プロジェクトスペシャル

  1. ネイティブ、H5、およびRNページが混在してジャンプすると、ページクリアのブリッジが実現されます
  2. ページハイブリッドフレームワークの設計と難しさ
  3. RNユニバーサルコンテナの設計
  4. ユーザー行動監視プログラムの設計
  5. JSエラー管理プログラム
  6. RNページは、ユーザーの行動とJSエラー管理を監視します。問題発見の利点と最適化ポイントは何ですか?
  7. ネイティブRNに対するMeituanRNの利点は何ですか

3面深みのあるファンデーション

  1. あなたの会社でピカソを使ったことがありますか?紹介しましょう
  2. ピカソの単一エンジン、複数のバンドルの場合にデータを確実に分離する方法は?
  3. 美団RNとピカソの違い

4.プロジェクト関連の問題をいくつか省略します。

  1. RNのページ追跡の実装方法
  2. MeituanホームページはRNページですか?MTFlexBoxの原則
  3. Synchronizedは、静的メソッド、通常のメソッド、クラス、およびメソッドブロックの違いを変更します
  4. 同期された基本的な実装原則
  5. 揮発性の役割と原理
  6. int変数はvolatileで変更され、i ++を操作するためにマルチスレッド化されていますが、スレッドセーフですか?i ++スレッドセーフを確保する方法は?AtomicIntegerの根底にある実現原理?

AtomicIntegerを使用してi ++スレッドセーフにします

  1. スレッドプールの理解、およびスレッドプールを作成するためのいくつかの重要なパラメーターについて話します
  2. ハンドラーメカニズムが再度要求します...
  3. バインダーメカニズムとメモリ共有メカニズムの違いは何ですか?
  4. Javaコレクション、ArrayListとHashMapの使用シナリオ、および基礎となる実装原則を紹介します
  5. ArrayListとLinkedListの違い
  6. アルゴリズム-2つの順序付けられたリンクリストのマージ
  7. アルゴリズム-文字列(および。なし)、通常(文字、および。の任意の組み合わせ)を入力し、文字列が有効かどうかを判断します
  8. プロジェクトで遭遇したいくつかの技術的な問題を簡単に紹介します

4面-交差面

  1. 次のコードでは、strの最終的な値は何ですか?整数の値は何ですか?変更されますか?

テストサイト:Java値の転送(質問2と同じ)。テストするコードを記述し、changeValue()メソッドの入力パラメーターを変更します。以前の値は変更されません原則:Javaプログラミング言語は常に値による呼び出しを使用し、メソッドはすべてのパラメーター値のコピーを取得します。つまり、メソッド変更できません渡されたパラメータ変数の内容。基本型パラメーターにはパラメーターのコピーが渡され、オブジェクト型パラメーターにはオブジェクトアドレスのコピーが渡されます。解決策:changeValue()で、オブジェクト型パラメーターの場合オブジェクトアドレスコピーのを直接変更します。前の変数のアドレスは変更されません!変更がオブジェクトインスタンスの値である場合、前の変数が変更されます

public void test() {
      String str = "123";
      changeValue(str);       
      System.out.println("str值为: " + str);  // str未被改变,str = "123"  
}  
public changeValue(String str) {
       str = "abc";  
}

次のコードでは、オブジェクトの学生を再度使用する場合は空白にする必要がありますか?

Javaでのメソッドパラメータの使用法の概要:メソッドは基本データ型(つまり数値またはブール値)のパラメータを変更できません。メソッドはオブジェクトパラメータの状態を変更できます。メソッドはオブジェクトパラメータに新しいものを参照させることはできません。オブジェクト

public void test()  {
      Student student = new Student("Bobo", 15);      
      changeValue1(student);   // student值未改变,不为null! 输出结果 student值为 name:Bobo、age:15      
      // changeValue2(student);  // student值被改变,输出结果 student值为 name:Lily、age:20      
      System.out.println("student值为 name: " + student.name + "、age:" + student.age); 
}  
public changeValue1(Student student) {
      student = null;  
}  
public static void changeValue2(Student student)  {    
    student.name = "Lily";           
    student.age = 20;  
}
  • Javaでのいくつかのタイプの参照、および弱い参照の使用シナリオ?
  • スレッドプールの分類、次のいくつかのコアパラメータについて説明してください。
  • APKのパッケージングプロセスは何ですか?

aaptツールはリソースファイルをパックし、R.javaファイルを生成し、aidlツールはAIDLファイルを処理し、対応する.javaファイルを生成し、javacツールはJavaファイルをコンパイルし、対応する.classファイルを生成し、.classファイルをDavikVMでサポートされる.dexファイルに変換します。 apkbuilderツール署名されていない.apkファイルをパッケージ化して生成しますjarsigner署名されていない.apkファイルをzipalignツールで署名して署名された.apkファイルを整列します

  1. APKに署名する必要があるのはなぜですか?特定の署名メカニズムについて学びましたか?
  2. なぜdexを分割するのですか?SDK 21はdexを分割しませんが、すべてを直接ロードすることに問題はありますか?

通りすがりの神々から正しい答えを求めてください...

  1. 一般的なデザインパターンは何ですか?提供したJSエラー管理ソリューションにはどのようなデザインパターンを使用しましたか?
  2. アルゴリズム-二分木層の次数トラバーサル、ノードの奇数層逆次トラバーサル、偶数層正次トラバーサル
  3. 今後3〜5年の予定は?
  4. あなたの強みは何だと思いますか?欠点は何ですか?
  5. あなたの現在のランクと最近のパフォーマンスは何ですか

5面-部門TL

  1. 商品化部門に関連する事業紹介(商品化部門は障壁が高く、人材育成のコストが高く、他の事業よりも価値があり、事業戦略の知識が豊富に蓄積できることがコアとなるでしょう) 、そして彼に質問をするように頼む
  2. 今後数年間の計画はありますか?人生の計画は何ですか?
  3. あなたの強みは何だと思いますか?欠点は何ですか?
  4. あなたの現在のランクと最近のパフォーマンスは何ですか
  5. なぜあなたにそのような良いパフォーマンスを与えるのですか?
  6. 他に機会はありますか?アリババのインタビューの状況

6面-ビッグボス

  1. アルゴリズム-配列の挿入、拡張を検討
  2. プロジェクトで遭遇するより困難なことは何ですか?
  3. Meituanでどのようなビジネスを担当していますか?
  4. 今後数年間の計画は?
  5. あなたの強みは何だと思いますか?欠点は何ですか?
  6. あなたの現在のランクと最近のパフォーマンスは何ですか

【HR面】

  1. 学部と大学院の専攻はどちらもハードウェアに偏っていますが、関連するソフトウェアの経験はありますか?
  2. 大学院生は学部生ですか、それとも自分で試験を受けますか?
  3. Meituanに行く前にAndroid開発の経験はありますか?
  4. なぜ美団に行くことにしたのですか?なぜ北京に来ることを選ぶのですか?
  5. なぜ転職するのですか?今後の仕事に何を期待しますか?

ゴールデンセンテンス:今、私自身のテクノロジーの成長は少しボトルネックになっています、そして私はいつもあなたの会社を賞賛してきました。

  1. あなたの現在のランクの最近のパフォーマンスは何ですか?
  2. こんなにいいパフォーマンスで、美団を選んで部門を変えてチャンスを見てみませんか?
  3. いくつかのプロモーションでのパフォーマンスのハイライトは何でしたか?
  4. 家はどこですか?家に帰ってそこで開発する予定はありますか?
  5. 快手のような就職の機会をもう一度見たいですか?
  6. アリの現在の面接の進捗状況と状況について質問する
  7. 希望給与

総括する:

面接は、継続的な学習と継続的な自己改善のプロセスです。機会があれば、お互いに向き合う必要があります。少なくとも、欠員をチェックして埋める効果について考えることができます。また、いくつかの知識ポイントがあります。あなたが知っていると思うかもしれませんが、あなたはそれをうまく言うことができないかもしれません。

プレッシャーに動機付けられているものもあり、学んだ知識ポイントはすべてお金です(ほとんどの技術者はあなたの能力に応じて評価され、支払われるため)、スキルは圧倒的ではありません。

提案する

大きな工場に入る方法についての小さな提案。私は常に「国を救うための曲線」アプローチを提唱しており、このアプローチを他の人にも広めています。能力のバックグラウンドが不十分であるかどうかは関係ありません。独自の学習ルートを計画し、段階的に登っていく限り、いつでも目標を達成できます。2年生だったのですが、早く気づいたので2年生からインターンシップを始めました。プロジェクトとインターンシップの経験を生かして、バックグラウンドの不足を補い、「オファーの自由」へと一歩一歩進んでいきました。 "。多くの場合、成功できるのは巨人だけではありません。あなたは普通の人である必要があり、思考や小人の行動で多くの巨人を凌駕することができます。

自由に共有

上記の質問のいくつかは、レビュー中にインターネットで見つけたインタビューの質問でもあります。私自身、これらのインタビューの質問を解析してドキュメントにまとめましたが、スペース上の理由から記事には表示されませんでした。良い記憶は悪いペンほど良くはありません。面接の質問は常に「知っておくべき」という精神で磨いてください。私は頭の中で記事を書いたので、答えが出てくると感じています。本当に面接官と話をするときは、それでもお勧めです。面接の質問をもう一度書いて、延長を行います。すべての面接の質問を論理的に書くことができれば、面接中にまったく問題はありません。



自己学習とコミュニケーションのための直接リンク:[クリックして取得]

関連する知識が必要な場合は、私の[ GitHub ]を確認できます。また、時間を節約するために、すでに習得したことは無視してかまいません。

おすすめ

転載: blog.csdn.net/Android725/article/details/114106186