ホームページ  >  記事  >  バックエンド開発  >  アリババのインタビュー体験と概要(データの研究開発、Javaの研究開発の方向性)

アリババのインタビュー体験と概要(データの研究開発、Javaの研究開発の方向性)

WBOY
WBOYオリジナル
2016-08-08 09:27:37899ブラウズ

私が応募したポジションは「ソフトウェアR&Dエンジニア」です。面接会場に到着したとき、私は Java 言語を選択しました (対応する面接官がいます)。しかし、その後クロス面接が行われ、「データ研究開発」のポジションに昇進することになりました。

一方:

まずは自己紹介。

私: 「私は 2 つのプロジェクトに取り組みました。いくつかの論文と特許を書きました。また、アリババのビッグデータ コンテストにも参加しました。同時に、個人的な興味から、 についても少し読みました。 HDFS ソースコードの一部、私はHDFSの核となる考え方を理解し、非常に単純で不完全なHDFSを実装しました。あなたが書いた論文の革新的な点は何ですか? "

私: "私が書いている論文や特許は、主に 1 つの原則に従っています。それは、既存の理論やモデルを新しいシナリオに適用するというものです。 . まず、特異値分解から始めましょう...」 約数分後。インタビュアー

1

が私の話を遮りました:「あなたのやっていることはすべてデータマイニングの方向です。なぜデータマイニングに応募しなかったのですか?」私:「なぜなら、私の理解によれば、データ マイニングのポジションには、機械学習アルゴリズムに関する深い研究が必要ですが、私が行っているのはデータ マイニング アルゴリズムの応用に偏っているため、データ マイニングと配信に重点を置いて研究開発に投資したいと考えています。

面接官1: 「実際のところ、あなたの利点はデータマイニングを行ったことです。まず、面接するデータ研究開発の面接官を探しましょう。後で戻ってきてください。 「

私も機械学習アルゴリズムを体系的に研究しましたが、公開時間が短すぎて (数か月)、研究が十分に深くありませんでした。私はコンテストでいくつかのアルゴリズムしか使用したことがありません:

LR

RF

GBRT

。独自の利点は、データの理解、特徴の抽出、アルゴリズムの適用にあります。アルゴリズムの導出プロセスは明らかではありませんが、考え方は理解できます。あまりにも細かい質問をされるのが怖かったので、遠慮していました。しかし、面接官1の強い主張により、最終的には同意しました。 2 番目の面接官の「データの研究開発」という看板を見て、安堵のため息をつきましたが、幸いにもそれは「データ マイニング」ではありませんでした。 今年、「データ研究開発」の職にかなり多くの人が採用されており、その多くは小規模および零細金融サービスに就職します。面接後、「データ研究開発」の仕事の要件は次のようになると思います: 基本的な

SQL

ステートメントに習熟していること。筆記試験の質問があるため。 Alibaba はデータの研究と開発に独自の

ODPS-SQL

(

Hive

と同様) を使用するべきだと思います。このプラットフォームは非常に複雑ですが、面接時の要件はそれほど高くありません。基本的な組み込み関数と SQL ステートメント (select、group by…) をマスターするだけです。コンテスト中、私はインデックスやビューを使用せずに数万行の SQL コード (重複排除後は数千行) を書きました。組み込み関数をよく使用し、時々 UDF (ユーザー カスタム関数) を使用しました。 )。ただし、記述されたコードにはインデックス、ビュー、UDFは含まれません。最適化テストは受けていません(というか私もよく分かりません)。 データの研究開発に関連した経験があり、面接官はこの側面を非常に重視しているようです。アリババビッグデータコンペティションに参加しました。 データの研究開発に関していくつか意見があります。これは非常に重要であり、明確な心を持たなければなりません。私は主にコンテストのモデルについて話しています: データの前処理->トレーニングセット、予測セット

->

特徴抽出

->

さらなる処理->陽性サンプルと陰性サンプルの比率->トレーニング->予測。 もちろんMapReduceが書ければもっと良いです。アリババのプラットフォームはMapReduceを提供しており、おそらく仕事で使用されています。詳しい紹介はこちら: 超長文

ODPS MapReduce

はじめに 次に、2 人目の技術面接官とのコミュニケーションを開始します。 インタビュアー2: 「自己紹介をしてください。」

私: 「その他の経験を紹介しました。それでは、主にデータの研究開発に関する私の経験を紹介します。」私が参加したアリババのビッグデータコンテスト。

インタビュアー2: 「わかりました。まず質問しましょう。」

インタビュアーは私に SQL の質問をしました: user_id、brand_id、time、cnt (費やした金額)の 4 つの列を持つテーブルがあるとします。ユーザー B が各ブランド brand に対して購入した合計金額をこの表から選択します。

それを見たとき、私がコンテストで作ったものととても似ていて、ちょっと嬉しかったです。面接官と簡単なやりとりをした後、急いで書きました;でも、やはり間違えるのが怖かったので、面接官に見せる前に長時間確認しました2。ちなみに、文字列を処理する必要がある場合は、ODPS-SQLUDFを使用します。面接官は手順を見て、何も言わずに脇に置きました。

その後、私たちは主にアリババビッグデータコンペティションについて議論します。私が何をしたのか、どのようなモデルとアルゴリズムが使用されたのか、そして精度はどれくらいなのか。 (このセクションの議論に最も時間がかかります)

幸いなことに、私は主にビジネスとデータの理解について議論し、データマイニングアルゴリズムについては深く議論しませんでした。

話し合いはうまくいきました。それが終わった後、面接官2は私を面接官1の元に連れ戻しました。

帰ってからも、面接官1と自分の書いた論文について話し合いを続けました。以前書いた論文をまとめたので、考え方が非常に明確になりました。そして論文執筆の経験と得たことについて話しました。

一言で言えば、一次面接の面接官はとても優しくて会話も楽しかったです。

もう一度言いますが、個人的には、面接官には主に 2 つのタイプがあると考えています。1 つは、テクノロジーの習得の深さを判断するために、テクノロジーを使用して死ぬほど質問することです。もう1つは、簡単な専門的な質問の後に演技をしてもらい、スピーチを指導するタイプで、考え方や表現力、個人的な意見など総合的な資質を試されます。

もちろん、あなたが自分の気持ちを表現するのが苦手だと面接官が判断した場合、面接官はあなたに質問を続けることしかできません。

2番目のタイプの面接官に出会えて光栄です。面接はチャットと同じくらい簡単です。

ついに、無事合格しました。

2番目の面接官:

2番目の面接の面接官はJavaの開発者です。

最初に、競技と配信について説明します。その後、「大きなテキストからTop3の文字列を見つけてください」という大量のテキスト処理に関する質問を受けました。この分野については何も調べていないので、答えは良くありません。

Java質問:「JVMの構造について教えてください。」

ネットワークの質問:「TCP/IPの3つのハンドシェイクと4つのウェーブ」

それでは, JavaWEBについて質問を始めてください。

この点については今知りました。面接官 3 は言いました:「大丈夫です、あなたの理解を説明してください。」カート...) は存在しますか? 高い同時実行性を実現するにはどうすればよいですか? 「

この点が理解できず、面接官は自由にプレイさせてくれました。答えは良くありませんでした。」 インタビュアー

3

: 「それではアルゴリズムの質問をしましょう。2つの整数配列を入力し、配列、つまり2つの配列に共通する値を返します。」

実はこれに当時、私は少し混乱し、少し緊張しました。クイック ソート アルゴリズムを書き始めましたが、使用した方法は最良のものではありませんでした。面接官はあまり満足していませんでした。 後で昼食をとっているときに、

O(nlgn)

O(m+n)

を実際に並べ替えることができると思いました。他の人と議論しているときに、いくつかの特殊な状況では、これはハッシュのアイデアを使用して実際に実行できるのではないかと思いました。複雑度 O(K), K は配列内の最大値です。 インタビュアー 3: 「再帰の習熟度をテストしてください。関数を作成し、型

int

を入力し、逆の順序で整数の文字列を返します。例: input 123」 , "321" を返します。 は再帰を使用する必要があり、グローバル変数は使用できません。入力はパラメーターである必要があり、文字列を返す必要があります。"そのときは、reverse のみを返します。出力 (印刷) が行われ、何も行われなかった順に文字列を返します。 昼食後、他の人と議論しているときに、二分木の深さや葉の数などの問題を再帰的に解決するために使用する必要があるいくつかのアイデアを突然思いつきました。戻りが行われるたびに、前の戻り値が返されます。が追加されます。

この時、面接官はあまり満足せず、食事の時間になりました。すると、面接官

3

はこう言いました。「そうしましょう。私がデータ開発者を見つけるのを手伝ってあげるから、あなたは面接に行ってください。評価は彼に任せましょう。」 彼は乗り気ではありませんでしたが、それでも同意しました。やっぱり今回はパフ​​ォーマンスが悪すぎた。

午後に同じ質問をしないようにするため。昼食後、私はアルゴリズムの問​​題について他の学生と話し合いました。

そしてインタビュアー4ですが、これはまだ二人称の段階です。

面接官4: 「技術的な問題についてチャットして話し合っているかのように扱ってください。関連する経験について教えてください。」

これにより、以前と同様に、よりリラックスして話すことができます。関係のない人々への経験を一言で要約します。最後に、アリババのビッグデータ競争に焦点を当てます。

面接官4は競技に非常に興味があり、最初から最後まで競技に集中していました。主にモデル、アルゴリズム、機能について説明します。データを理解することに重点が置かれており、面接官 4 によってそれが認められました。

私は、「コンテスト中は、毎日データを見て特徴を抽出しなければなりません。これを数字だけで見ると本当に退屈です。しかし、それをユーザーの行動として扱います」と言いました。これは非常に興味深い分析になります。たとえば、あるユーザーが毎日特定のブランドをクリックしたのに、購入し続けた人がいることは明らかでした。

つまり、私はゲーム関連の事柄とデータについての私の理解を非常にリラックスして話していました。

ついに、無事合格しました。

三面

今年HRの面接にエントリーする多くの人が依然として落とされる可能性が高いと長い間聞いていました。だから、もっと注意してください。

後から知ったのですが、必ずしもHRではなかったのです。なぜなら、面接官は、数回の面接を通過した後も、申請者を入学させるかどうかについて話し合う必要があり、申請者が入学を許可されることが確認された場合には、オファーを与えるからです。解雇された人の中には、HRjjではなく、過去の業績不振を理由に技術面接官によって解雇された人もいるかもしれません。一般的に、HRが可決された後、データマイニングとアルゴリズムの候補者は他のポジションで解雇される可能性が高く、解雇されることはめったにないと聞きました。

しかし、面接官はとても優しかったです。おしゃべりをしているうちに、いろいろなことを話し始めました。

私たちは、技術スキルを向上させる方法、アリババのニックネームなどについて話し合いました。

面接の過程で、私は主に 2 つの点を強調しました (私自身の経験をもとに):

私は問題について他の人と話し合うのが好きなので、常に予期せぬ利益を得ることができます。さらに、プロジェクト、コンテスト、日常生活からの例も示されています。先ほど技術面接官の質問に答えていないとも言いましたが、他の面接生(面識なし)と個人的に話し合っているうちに、急に悟りを開くことができました。

仕事を人生の一部として捉え、楽しく働きましょう。これは主に、私がコンテスト中にどのようにしてつまらないものを面白いものに変えたかについて話します。

最後に、面接官は私に何か質問はありますか?と尋ねました。

私はこう言いました。「コンテストに参加したとき、私はアリ・ワンワンのグループに加わりました。そこには多くの社内従業員がいて、彼らを通してアリについてよく知っています。だから、これ以上聞くことはありません

終了

面接は終了しました。出てきてすぐに自分のステータスを見ると、「3パス」と表示されていましたが、しばらくすると突然「面接終了」に変わりました。 他の人からは、面接が終わるということは不合格を意味すると聞きました。

そこで外のスタッフに聞いてみたところ、「これは戻って通知を待つということです。」HR面接後のステータスは「3つの面で合格」「4つの面で合格」だそうです。 」、「面接終了」など。これは正常です。過去の総合成績も踏まえて審査しなければならないからだ。すべての「面接が終了」し、オファーオファーがないという意味ではありません。後で聞いたところによると、「全方位合格」した人でもOfferを受けられない人もいるそうです。

学校に戻った後、私はテキストメッセージを受け取るまで朝の38時まで待ちました。それから、興奮の夜。

まとめ:

基礎がしっかりしている人は、面接官に聞きたいことを何でも聞いてもらいましょう。しかし、このようにあなたの熟練度の深さを知りたいので、質問をやめるのは誰でも可能だと思います。

私にとって、基本的な知識は平均的です。データ構造、並べ替えアルゴリズム、再帰を書くことができ、いくつかの基本的なコンピューター ネットワークと基本的な概念と理論を理解しています。自分の競争、プロジェクト、論文、特許の利点を最大限に活用することはできません。

面接プロセス中、面接官の興味のポイントを把握し、面接官を有利に導くことが非常に重要です。もちろん、あなたの強みが面接官がよく知っている分野ではなくても、面接官が興味を持っている分野であれば、それに越したことはありません。私の面接官数名について、チャット中に、面接官 1 は私の論文と特許に興味があり、面接官 2 と面接官 4 はアリババに興味を持っていることに気づきました。 私はビッグデータに興味を持っていますコンテストでは、面接官3は私の基礎能力に興味があり、HRは私の協調能力に興味を持っています。面接官 3 は私の基本的なことだけを聞きたかっただけで、私は彼の強み (データマイニングと配布) を伝えようと何度も試みましたが、強引に私を引き戻されました。他の数名のインタビュアーに対して、私は意識的にアリババのビッグデータ競争に話題を変えました。たまたま、誰もこのコンテストについて深く理解していなかったし、ある程度の興味も持っていなかったので、その内容についての議論にほとんどの時間を費やしました。

要するに、自分の利点を最大限に活用することです。

無料で入手LAMPBand of BrothersオリジナルPHPチュートリアルCD / 詳細PHP 》 Essential バージョン、詳細については公式ウェブサイトのカスタマーサービスにお問い合わせください: http://www.lampbrother.net

PHPCMS二次開発http://yun.itxdl.cn /online/phpcms/index .php?u=5

WeChat開発http://yun.itxdl.cn/online/weixin/index.php?u=5

モバイル インターネット サーバーサイド開発 http://yun.itxdl.cn/online/server/index.php?u=5

Javascriptコースhttp:// yun.itxdl.cn/online /js/index.php?u=5

CTOトレーニングキャンプhttp://yun.itxdl.cn/online/cto/index.php? u=5

以上、アリババのインタビュー体験と概要(データの研究開発、Javaの研究開発の方向性)を内容も含めて紹介しましたので、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。