もともと水を試してみたかったのですが、5回の面接の後、アリのフロントエンドのポストに実際に直面することになるとは思っていませんでした。

バックグラウンド

私の経歴はスカムで、業界に遅れて参入し、会社で3年間安定しています。白紙のフロントエンド紙から現在の落書きまで、それは基本的な形になっています。2020年の終わりに、自分がいかに「料理」であるかを深く認識し、自分自身の向上に専念したかったので、仕事を辞めました。少し調整した後、リロードしました。休暇前の限られた時間のために、私は少数に投票しただけでした、そしてもちろんそれらはすべて内部的に推薦されました。少し良いオファーはアリのものです。以下の経験をあなたと共有させてください。

アリ4ラウンドのテクノロジー+1ラウンドの時間

片面(60分)

  • 自己紹介は主にいくつかのポイントに焦点を当てています:個人情報、最近の会社の責任と関連するビジネス、主要なテクノロジースタック、私が得意なテクノロジー、プロジェクトの紹介(STAR:プロジェクトの背景、タスク、作業内容、プロジェクトのハイライト、達成した結果あなたは学びましたか?)、あなたは最近何をしてきましたか、そして結論。

  • 履歴書には2つのテクノロジースタックが書かれているので、vueの違いと接続について話し、主にいくつかのポイントで反応します:2つのテンプレートレンダリング、2つの仮想dom、diffの違い(vue2、vue3、react 16 )、反応ファイバーはどのような問題を解決できますか?vue2の応答原理とvue3の応答原理; vueのProxyとObject.definePropertyの違い; 2つのバッチ更新、およびルーティングの違い、一般的に使用される最適化方法、とデータの伝達方法。いくつかの新鮮なコンテンツ:新しくリリースされたvue3の特徴は何ですか。最後に、2つの現在のエコロジーについて話しましょう...

  • プロジェクトのパフォーマンスの最適化は、主にいくつかのポイントを中心に展開します。reactの使用など、プロジェクトテクノロジスタックのパフォーマンスの最適化では、電子を元の状態に近づける方法など、レンダリングの繰り返しを回避するためのいくつかの手段について説明できます。ブラウザの最適化(キャッシング/ストレージ、プロキシ、SSRなど、レンダリングエンジンの作業コンテンツ用に最適化されたブラウザ関連の原則を理解する必要があります。たとえば、cssの解析は、domレンダリング、リフローの再描画を減らすための合成の最適化に影響します。ウェブワーカー、イベントループなど);パッケージツールが提供されますウェブパック、特にウェブパックの最適化;ホームページで何をするか、ホームページの最新の指標など、特定のページの最適化;最後にアプリケーションシナリオについて説明します、私のプロジェクトで使用されている方法、および中規模および大規模プロジェクトのパフォーマンスの選択。PS:パフォーマンスの最適化の内容を真剣に話せば、2、3時間で確実にやってくるわけではありません。パフォーマンスの最適化には終わりがないので、インタビューの中で上記のことだけを考えました...

  • 私たちの製品を知っていますか?私は事前にチームのビジネスプロジェクトをグーグルで検索しました。また、以前に同様の製品に関する記事をいくつか読みました。プロジェクトの経験を組み合わせて、少しだけ理解しました。

  • 聞きたいことは何ですか?今回はパフ​​ォーマンスについてお伺いし、いくつかのチームプロジェクトの作業内容、プロジェクト募集の背景、フォローアップ面接の準備について学びました。手書きの質問はありませんでしたが、どれも非常に基本的な質問で、全体的には比較的簡単でした。

両面(60分)

夕方9時30分の面接では、面接官は忙しく終わったばかりで、立ち上がってビジネス、ビジネス全体に直接尋ねる必要があります...権限ページの詳細:

  • 各モジュールとボタンの権限を設計する方法。
  • 役割や地域ごとにデザインする方法は?
  • ヘッダーを追加し、表示の順序を制御する必要があります。パフォーマンスはブラウザー間で一貫しています。どのように設計しますか?すべての計画を話し、どんな自由な遊びを考えてください...
  • ローカルストレージについては、次のように質問してください。localStorageのサイズは、ブラウザとモバイルブラウザで同じですか。

その他:

  • この段落は私の履歴書のプロジェクトです、スキップしてください...
  • アリの製品について話し続けます。簡単に使用した後、最適化できるいくつかのポイントを提案してください。
  • 何も明らかにされていません。この製品の次の方向性を予測しましょう。それがあなたである場合、どの方向に進むのか、そしてなぜそれをやらせるのか、あなたが得意なことを教えてください...
  • 製品、全員が行っていること、チームワークの状況について正式に話し合い、次の反復の方向性を発表し、人々をターゲットにし、目標を...
  • いつものようにチャット、さようなら。

間奏:途中で2回の突然のハングがありました。その時、私はジェットコースターのように高地から低地に滑り込んでいました。私の心はキュートで美しい
CCTVレポーターでした。

三面(60分)

こちら側は筆記試験です、はは、手書きの質問をたくさん見直しましたが、結果は三面試験の質問とは全然違います。交差点はありません、えーと…幸い、難しいことではありません…質問1:1:

/**
 * 1.计算多个区间的交集
 *   区间用长度为2的数字数组表示,如[2, 5]表示区间2到5(包括2和5);
 *   区间不限定方向,如[5, 2]等同于[2, 5];
 *   实现`getIntersection 函数`
 *   可接收多个区间,并返回所有区间的交集(用区间表示),如空集用null表示
 * 示例:
 *   getIntersection([5, 2], [4, 9], [3, 6]); // [4, 5]
 *   getIntersection([1, 7], [8, 9]); // null
 */

質問2:

/**
 * 2.DOM 的体积过大会影响页面性能,假如你想在用户关闭页面时统计(计算并反馈给服务器)
 当前页面中元素节点的数量总和、元素节点的最大嵌套深度以及最大子元素个数,请用 JS 配合
 原生 DOM API 实现该需求(不用考虑陈旧浏览器以及在现代浏览器中的兼容性,可以使用任意
 浏览器的最新特性;不用考虑 shadow DOM)。比如在如下页面中运行后:
 */
<html>
  <head></head>
  <body>
    <div>
      <span>f</span>
      <span>o</span>
      <span>o</span>
    </div>
  </body>
</html>
// 会输出:

{
  totalElementsCount: 7,
  maxDOMTreeDepth: 4,
  maxChildrenCount: 3
}

質問3:

// 3.请使用原生代码实现一个Events模块,可以实现自定义事件的订阅、触发、移除功能
/*
const fn1 = (... args)=>console.log('I want sleep1', ... args)
const fn2 = (... args)=>console.log('I want sleep2', ... args)
const event = new Events();
event.on('sleep', fn1, 1, 2, 3);
event.on('sleep', fn2, 1, 2, 3);
event.fire('sleep', 4, 5, 6);
// I want sleep1 1 2 3 4 5 6
// I want sleep2 1 2 3 4 5 6
event.off('sleep', fn1);
event.once('sleep', ()=>console.log('I want sleep));
event.fire('sleep');
*/

ビジネスの4つの側面(35分)

週末は夢遊病でした。空母を降りた直後、リンリンから電話がありましたが、まだ戸惑いました…

  • クロスターミナルの原理は?いくつかの例について話しました:taro、uni-app、そしてちなみに、フラッター、react native、アプレットなどのアーキテクチャーと、それらを詳細に設計する方法について説明しました。
  • 動的フォームはどのようなシナリオで使用できますか?私は7つか8つの例を挙げました。
  • モバイル端末の適応とアプリケーションのシナリオに関連する問題。
  • 私の会社の商談は、競合製品などを知っているかどうかにかかわらず、ここではスキップしてください。

時間5つの側面(60分)

  • あなたのプロジェクトの競合製品について何か知っていますか?何か言って
  • 競合製品と比較して、あなたのプロジェクトの利点と利点は何ですか?
  • 仕事を辞めた後に私がしていることは、私の過去の経験がすべてです。質問は詳細すぎて不快です。
  • 同僚と意見の相違がある場合、どのように解決しますか?
  • 今、私たちのビジネスでは、新しいモジュールの場所を緊急に追加する必要がありますが、どのように設計しますか?データの表示方法...
  • はい、hrは技術的な質問もしました。

全体的な感じ

全体的に緊張感はなく、かなり満足です。当初の高い心理的期待からゆっくりと後退していく…レベルが限られていたため、最終的には高給になりませんでした。

準備段階

  • ソースコードを見て、レンダリングの原則、仮想dom、diff、パッチ、ファイバー、バッチ更新、手書きの応答性、フレームワークで使用されるパターン、設計アイデア、パフォーマンスの最適化など、VueフレームワークとReactフレームワーク間のすべての水平比較を整理します。関連する生態学的技術など。

  • webpackの原則、ホットアップデートの原則、動的ロードの原則、一般的なプラグイン、ローダー、一般的な最適化、パック方法、チャンクの分割方法、プラグインの記述方法、ライフサイクル、マイクロカーネルソースコードなど。ロールアップとgulpの使用とアプリケーションのシナリオも同様です。(研究開発プロセス全体については非常に明確であると審査官が言ったのを覚えていますが、詳細ではありません。たとえば、webpackのパッケージングと下請けの基礎を決定する方法......うーん、私は、あなたは私に尋ねないでください。!)

  • クロスエンドフレームワークの調査、エンジニアリングソーティング、使用されているテクノロジースタックのピット、モバイルエンドでのいくつかのプラクティス、インタビュー中に作成された追加のプロジェクトレビュー、競合製品の調査、相手の製品に関する情報、テストシリーズ、およびマイクロなどの多くの情報フロントエンド、Zhongtai、サーバーレス、ビジュアライゼーション、Wasmなどは例ではありません。

  • また、インタビューや技術記事もたくさん読んでいます。

私が読んだ面接の質問の要約をまとめました。実際には280ページのPDFがあり、無料で共有できます。感謝のフィードバックです。困っている友達は[クリックして]無料で入手できます。

「フロントエンドの学校採用面接の質問分析」の280ページにある詳細なコンテンツ青いフォントで表示するには、ここをクリックしてください

上記の内容をマスターすれば、少し知識が豊富で、これまでの技術面に落ち着いて対応できるはずですが、もちろん数ヶ月で達成することはできません。年。それはまた大学またはそれ以前に蓄積し始めました、そしてこのレベルは逃れることができません。

この時点で、「技術的な」トラは半分死ぬまで戦うことができるはずです。直接それを行うことは不可能です。上記の知識は学校の募集には十分かもしれませんが、社会的な募集は役に立たないかもしれません、ハハ。

それから、社会的採用の焦点があります:ビジネス側、それを言う方法、ただもっと考えて要約し、深く考え、そしてそれぞれの問題について深く考えなければ、大企業に入るのは難しく、高レベルの深さ。面接で良い成績を得るために。

プロジェクトの輝点や他の人に認識される輝点を選ぶのはもっと難しいです。自分の祝福しか求められないのですが、それも私の欠点です。当時、私は卵の骨も選んでいました。今回はこれが私の就職活動の経験です。最大の障害は、ビジネスが単純すぎて、あなたの目のハイライトであり、インタビュアーはそうではないと思っています...

面接ステージ

多くのインタビュアーは、質問に答えるときは、言語を整理するために答える前に考えてくださいと言いますが、はっきりと知っていることもありますが、緊張すると重要な情報をスキップして答えがわかりません。「はっきりと考え、はっきりと説明し、何を言い、どのように言うかを知っている」を達成するために、それはまだ少し難しいです、そしてそれは少しずつの通常の蓄積に関連しています。この点で、私はすでにいくつかの方向性を提供しました上記。残りは面接の段階で上手にプレーすることです。良い方法はありません。ここで提案します:

  • 質問に答える前によく考えてください。役立つとは限りませんが、それでもうまく実行する必要があります。
  • あなたがあまり疲れていない限り、複数回、異なる会社を参照します。
  • ある会社に面接するときは、前回の面接に基づいて、フォローアップ審査官が尋ねる事業の一般的な範囲を推測するか、社内の推薦クラスメートに事前に準備してもらうようにしてください。一般的に、私はあなたの履歴書に1つのアイテム、相手の部門の2つの有名な製品、jdに3つの役職を尋ねます。
  • 同じ問題に陥らないようにするための簡単なレビュー。
  • 知識の幅を広げることは他の質問につながる可能性があり、審査官も喜んで耳を傾けます。
  • 面接の良い時間を選んでください。たとえば、朝の10時に、私の脳は非常に明るく、私のスピーチは穏やかで磁気的です...夕方の7時以降、私は不可解に緊張します。 、そして私の声は数ポイント増加し、少し嗄声になります。これは本当です。人によって異なります。落ち着いていることが必ずしも良いことではない場合もあります。神経質になり、反*になると、ときどきパンチやアイデアを思いつくことがあります。もちろん、混乱することもあります。
  • あなたの精神とエネルギーを素早く調整するいくつかの方法を見つけてください、そしてあなたは前の基礎研究の間にそれを使うこともできます。
  • あなたが十分に上手い場合は、面接官にあなたが得意なことを尋ねるように提案し、導くことができます。鼻に導かれないでください。

最後に、仏に祈って、幸運を祈ってお香を焚きます。人の違いは、認知力と思考力の違いにあります。しばらくの間、考え方に質的な変化がない場合は、幸運を祈る方がよいでしょう。幸運がなければ、上記の提案はうまくいかないかもしれません。結局のところ、ソーシャルリクルートインタビューの内容は本質的に不安定です。テクノロジー、アルゴリズム、ビジネス、学歴などを強調するものもあります。目...

学び続ける方法は?

この作品は補足です、私はまだ提案をするだけです:

  • ゲームをする場合は、満足のいく仕事が見つかるまで、ゲームをあきらめるか、しばらくの間ゲームをやめてください。
  • あなたの問題点を見つけてください。
  • 段階的に勉強し、サイクルに合った計画を立てます。無理に押し込まないでください。無理に押し込むと故障します。
  • チキンスープを探すか、持っていないが欲しいものを見つけてください。
  • ビジネスの面では、より多くの本を読み、いくつかの考え方を要約して蓄積してください。

最後に魂は尋ねました:

  • 大きな工場に入る夢はありますか?あなたが知っている、これは小さな価格が必要です。
  • あなたはユニークなウィザードですか?そうでない場合は、数回失敗するのが普通です。誰もが普通の人であり、おそらく一致しないだけです。

やっと

これで記事は終わりです。私のレベルは限られています。この経験で何人の赤ちゃんを救うことができるかわかりません。私のような多くの人が大きな工場に入る夢を持っていると思います。春の募集が近づいています。春の募集でみんなが満足のいくオファーをもらえることを願っています。最後に、ここの友達が親指を立てているのを見ることができます。

おすすめ

転載: blog.csdn.net/hugo233/article/details/114293482