昨年の春にAlibabaのインターンシップのオファーを受け取りました。3か月のインターンシップの後、秋にはスムーズに採用できました。現在、Alibabaの新しい小売デジタルサプライチェーンのメンバーです。
それでは、今年アリに投票した後輩と姉妹に少し助けを与えたいと思って、アリの経験を作り上げましょう〜
この投稿を見たすべての学生が満足のいくオファーを受け取ることができることを願っています
この記事では、次の3つのレベルから紹介し、続いて
- 面接前の準備
- インタビュー内容(対面)
- アリインターンシップ
- インタビュー質問データ共有
1.面接前の準備
実際、フロントポストに行くつもりの学生のほとんどが自分で準備をしているようになりました。ここでは、私自身の学習パスについて簡単に説明します。フロントエンドの基本的な知識に関しては、一方では通常の蓄積に依存し、他方では、ギャップを埋めるために春の採用前の検査に依存しています。私が普段蓄積しているのであれば、私は個人的にいくつかの古典的なフロントエンドの本を読み、それらを整理して要約します。
-
赤い本
-
「高性能Javascript」
-
「わからないJavascript(アッパーミドル)」を見たことがないので、ES6の話のようですが、恥ずかしいです。
-
蝶の本
-
「図解されたHTTP」
-
ES6入門チュートリアルhttps://es6.ruanyifeng.com/
-
「Dahuaデータ構造」
いつものように、春の採用の1年前に準備を始め、本を読んで計画的にまとめ、ナゲッツを見たり、WeChatの公式アカウントを見たり、InfoQを見たりしました。
読んだものが混ざっていてもかまいません。重要なのは、技術記事を読んだ後、この技術がどの知識に属するべきか、そして私がこれを習得したかどうかを明確に知ることができるように、独自の知識システムを形成することです。そうでない場合は、今すぐ習得する必要がありますか。
さらに、アルゴリズムとデータ構造のトピックに約3か月を費やし、アルゴリズムのトピックを具体的に要約するためにGithubでいくつかのプロジェクトを作成しました(ただし、Aliにインタビューするときには役に立ちませんでした)。
プロジェクトの部分は当時の私の弱点でした。学部卒業に選ばれたチューターにはプロジェクトがなく、すべて研究テーマでした(プロジェクトはフロントエンドとは関係ないかもしれませんが)、私は参加しませんでした。さまざまなコンテストで。自己学習をしているときに、Githubで、練習が少し複雑なテクノロジースタックをいくつか見つけました。しかし、私自身、ハンドエンジニアリングを実践しているときにいくつかのオープンソースガジェットを作成しました。事実は、これらのオープンソース作品がインタビューに非常に適していることを証明しています。
面接の非常に重要な部分もあります。それは、学習能力やモチベーションなど、候補者のソフトな資質を調べることです。これらのことは通常、交差点や時間帯で検査されます。たとえば、アリの時間帯は、「あなたが最も失敗したことは何だと思いますか」と尋ねる場合があります。彼女は、問題が発生したかどうかを確認したいだけかもしれません。 。このような質問も、人の性格によって決まるため、準備が難しく、時間前に偽造することも難しいので、できる限り自分の勤勉で自発的な資質を示すことしかできません。技術レベル。
2.インタビュー内容
片側
当時は精神状態があまり良くなく、午後なのにとても眠くて、よく質問に答えると集中できませんでした(今は危険な体験のようです)。でもインタビュアーはとても親切で、何度もはっきりと聞こえませんでした。彼はとても辛抱強く、私に話しかけました(たとえば、彼は私に非同期を知っているかどうか尋ねました。私はそれを3回聞いた後、気づきました。彼が言った2つの単語は次のとおりでしたこれは発音の問題が原因である可能性があります笑)
- あなたの専攻はコンピュータ専攻と関係がありますか?私たちの専攻は学部課程でいくつかのコンピュータコースを学ぶと言いました。もちろん、クラスメートの雇用はコンピュータとはあまり関係がないかもしれません。私はフロントエンドに非常に興味があります。私は勉強をしていた
- ブログを読んで、中のアニメーションライブラリについて尋ねました
- インターンシップの経験について尋ねられた
- 難しいプロジェクトに自己紹介する
- 以前のプロジェクトで使用されたより難しいアルゴリズムはありますか?
- Flexの紹介
- CSSセレクター
- セレクターの効率
- jQueryセレクターを実装する方法
- 一般的な疑似クラスと疑似要素について話す
- モバイル適応
- Vueで応答性を実装する方法
- これはVueのアレイに対しても行われますか?
- Vueテンプレートのコンパイルがプロセスについて話します
- vdomを導入する
- VueとReactのvdomアルゴリズムの比較
- Vueでのコンポーネント通信の方法
- 継続的インテグレーションの問題(プロジェクトにあるため)
- VueRouterの2つのモードの原理
- 次のマクロタスクとミクロタスクを説明する
- フロントエンドのセキュリティ問題(XSSとCSRFの出現と対応戦略)についての私の理解を紹介します。
- MySQLの基本的な問題
- キューの特徴とアプリケーションシナリオは何ですか
- いくつかのソートアルゴリズムについて質問
- 質問セッション(テクノロジースタックがVueのみを使用するかどうかを尋ねました、それは問題ではありません、インタビュアーはそれは問題ではないと言いました、これらはすべて接続されています)
両面
- あなたの勉強の習慣を紹介します
- 私のWebGLプロジェクトの1つについて尋ねられました
- 私がVueで書いたプロジェクトを紹介しましょう
- 別のプロジェクトをキャッチし、掘り続けました...
- Webpackローダーとプラグインの原理
- 3つの手作業によるコードの質問。1つはプロトタイプチェーンの調査、1つはこれの調査、もう1つは2つの長方形の交点を判断するためのアルゴリズムの質問です。
- フロントエンドセキュリティを紹介します
- 学校の他のフロントエンド関連のクラブについて学びましたか?
- あなた自身の長所と短所を評価する
交差点
- 自己紹介
- 私が最も難しいプロジェクトであると思うことと私が難しいと思うことを紹介します
- Vue以外のフレームワークに触れたことはありますか?
- Vueのレスポンシブメカニズムを詳しく紹介します
- Vueのdiffの原則について話す
- 質問時間
時間麺
- 自己紹介(これまでに行われたこととプロジェクト、学習パスと計画)
- 現在の欠点を要約する
- フロントエンドを選択する理由
- 私が今まで経験した中で最も失敗したこと
- 私が思うことは最も成功している
- 一言で要約してください
- 普段どんな趣味がありますか
3.アリインターンシップ
当時、Spring Recruitmentもいくつかのオファーを取りましたが、最後に、Aliのゴールドコンテンツとプラスのコンバージョン率を考慮して、Aliを選択しました。
個人的には、インターンシップはまだ必要だと思いますが、秋の採用で質の高いインターンシップを体験することでポイントが増えると同時に、インターンシップでインターネットライフを体験することができます。事前に状況に応じて判断できますインターネットの道を選ぶことにしました昨年来て1週間後にグループの誰かが辞めてブログを勉強に戻りました(fear.jpg)
アリのインターンシップの扱いは今でもかなり良いです。1日250元+2,000の部屋の補足に加えて、週末の残業を選択できます。週末の残業の場合、カフェテリアはすべて無料で、補助金も受けられます(そこにあります)。残業している正社員には助成金はありませんhhh)
学科に来てからの話はこの記事で終わらせられません。簡単に言えば、みんなとてもいいですが、インターネット会社のプレッシャーはまだ残っていて、私の周りの友達はとても親切で勤勉です〜
4.最後に
このインタビューの準備のために、私は多くのインタビューの質問をブラッシュアップし、HTML、css、JavaScript、React、Vue、ブラウザー、サーバーとネットワーク、アルゴリズムなどに分割して編集しました...共有します以下のあなた。
HTML
- ブラウザページの3つのレイヤーとは何ですか、それらは何ですか、そしてそれらの機能は何ですか?
- HTML5の長所と短所は?
- Doctypeは何をしますか?厳密モードと無差別モードを区別する方法は?それらはどういう意味ですか?
- HTML5の新機能と要素は何ですか?
- 作成したWebページがテストされているブラウザはどれですか。また、これらのブラウザのコアは何ですか。
- すべてのHTMLファイルの先頭に非常に重要なDoctypeがありますが、これが何のためにあるか知っていますか?
- HTML5についてのあなたの知識について教えてください(それは何ですか、なぜですか)
- WEB標準とW3Cの理解と知識?
- HTMLグローバル属性とは何ですか?
- ハイパーリンクのターゲット属性の値と機能について話しますか?
- iframeの欠点は何ですか?
- ラベルの機能とは何ですか?また、どのように使用されますか?
- ブラウザの複数のタブ間の通信を実現するにはどうすればよいですか?
- キャンバスについてのあなたの理解について話しますか?
- …
CSS
- CSSボックスモデルについて説明しますか?
- CSSセレクターの種類について話してください。また、それらの使用法を説明するためにいくつかの例を挙げてください。
- CSSの何が特別なのか教えてください(優先順位、特別な値の計算)
- 一般的なブラウザの互換性の問題と解決策?
- ディスプレイの値をリストし、それらが何をするのか説明しますか?
- divを中央に配置する方法、フローティング要素を中央に配置する方法は?
- フロートをクリアする方法をいくつか(少なくとも2つ)挙げてください。
- ブロック、インライン、インリンクブロックの詳細の比較?
- グレースフルデグラデーションとプログレッシブエンハンスメントとは何ですか?
- フローティング要素によって引き起こされる問題とその解決策について話します
- パフォーマンスの最適化方法は何ですか?
- なぜCSSスタイルを初期化するのですか?
- Webページの場所に応じて、どのタイプのCSSスタイルシートに分割できますか?
- emとremの違いを教えてください。
- …
JavaScript
- clientHeight、scrollHeight、offsetHeightなどのjsのさまざまな位置、およびscrollTop、offsetTop、clientTopの違いは?
- jsドラッグアンドドロップ機能の実装
- jsメソッドを非同期にロードする
- jsアンチシェイクとスロットル
- 閉鎖について話す
- スコープチェーンについてのあなたの理解について話してください
- JavaScriptプロトタイプ、プロトタイプチェーン?特徴は何ですか?
- イベント委任/イベント委任とは何ですか?
- Javascriptはどのように継承を実装しますか?
- 関数の実行はこれを変更します
- バベル編集の原則
- 機能カリー化
- クラスの作成と継承について話します
- フロントエンドでのイベントフローについて話します
- 最初にイベントバブルを作成してからキャプチャする方法
- 写真の遅延読み込みと事前読み込みについて話します
- jsの新しい演算子は何をしますか
- 関数内のこのポインターの関数へのポインターを変更します(バインド、適用、呼び出しの違い)
- Ajaxはブラウザのキャッシュの問題を解決します
- …
見る
- VueにおけるKeyValueの役割
- Vueコンポーネントのデータが関数でなければならないのはなぜですか?
- vuexの状態特性は何ですか?
- Vueのレスポンシブシステムを紹介する
- 計算と時計の違い
- Vueのライフサイクルを紹介します
- コンポーネントデータが関数でなければならない理由
- コンポーネントはどのように通信しますか
- Vue.cliでカスタムコンポーネントを使用するにはどうすればよいですか?問題が発生しましたか?
- Vueはオンデマンドの読み込みとwebpack設定をどのように実装しますか
- 各サイクルがどのシナリオに適しているかを簡単に説明してください
- scssとは何ですか?Vue.cliのインストールと使用の手順は何ですか?主な機能は何ですか?
- Vue.jsテンプレートのコンパイルについてのあなたの理解について話してください。
- Vueルーティングジャンプのいくつかの方法
- Vueはオンデマンドの読み込みとwebpack設定をどのように実装しますか?
- Vueのルーティング実装:ハッシュモードと履歴モード
- Vue、Angular、Reactの違いは何ですか?
- Vueルーティング用のフック機能
- Vueの計算されたプロパティは何ですか?
- …
React
- 反応を導入する
- 単一のデータフローに反応する
- Reactライフサイクル機能とReactコンポーネントのライフサイクル
- reactとVueの原理、違い、ハイライト、機能
- ReactJsコンポーネント通信
- Reactの仮想DOMについて学びましたか?それはどのように比較されますか?
- プロジェクトではReactが使用されていますが、なぜreactを選択する必要があるのでしょうか。また、reactのメリットは何ですか。
- 本当のDOMを取得する方法
- 反応を選択する理由
- Reactのライフサイクル機能
- setState後の処理
- 反応するハイエンドコンポーネントを知っていますか?
- React jsx、関数型プログラミング
- 反応コンポーネントは、更新するかどうかを決定するために何を使用しますか?
- React-Routerを設定する方法
- ルーティング用に動的にロードされたモジュール
- Reduxミドルウェアとは何ですか?それはいくつかのパラメーターを受け入れます
- reduxリクエストミドルウェアが同時実行を処理する方法
ブラウザ
- クロス集計通信
- ブラウザアーキテクチャ
- ブラウザの下のイベントループ
- 入力URLから表示までのプロセス
- 再描画とリフロー
- ストレージ
- Webワーカー
- V8ガベージコレクションメカニズム
- メモリーリーク
- リフローとリペイントの最適化
- 再描画とリフローを減らす方法は?
- URLからページが入力され、ページが読み込まれて表示されますが、その過程で何が起こりましたか?
- localStorageとsessionStorageおよびcookieの違いの要約
- http多重化
- Cookieにはどのような属性を設定できますか?
- フォワードプロキシとリバースプロキシ
- …
サーバーとネットワーク
- HTTPSとHTTPの違い
- HTTPバージョン
- URLを入力してページをレンダリングするとどうなりましたか?
- HTTPキャッシュ
- キャッシュの場所
- 強力なキャッシュ
- ネゴシエーションキャッシュ
- キャッシュされたリソースはそこにあります
- ブラウザのキャッシュに対するユーザーの行動の影響
- キャッシングの利点
- 別の更新要求実行プロセス
- クロスドメインの問題があるのはなぜですか
- クロスドメインを解決する方法
- アクセス制御シナリオ(単純な要求と単純でない要求)
- withCredentials属性
- サーバーにCORSを設定する方法
- URLクラスの一般的なメソッド
アルゴリズムとデータ構造
- 二分木シーケンストラバーサル
- Bツリーの特徴、BツリーとB +ツリーの違い
- 末尾再帰
- 多数の階乗を書く方法は?再帰メソッドの何が問題になっていますか?
- 多次元配列を1次元配列に変換する方法
- 急速放電の泡立ちの原理について話す
- ヒープソート方式の原理は?複雑さ?
- 手書きのいくつかの一般的なソートアルゴリズム
- 配列の重複排除、できるだけ多くのメソッドを記述します
- 大きな配列がある場合、それらはすべて整数であり、最大の上位10個の数値を見つける方法