Heim > Artikel > Backend-Entwicklung > Erfahrung und Zusammenfassung des Alibaba-Interviews (Datenforschung und -entwicklung, Java-Forschungs- und Entwicklungsrichtung)
Die Stelle, auf die ich mich beworben habe, ist „Software R&D Engineer“. Als ich auf der Interviewseite ankam, wählte ich die Sprache Java (mit einem entsprechenden Interviewer). Später wurde jedoch ein Gegengespräch geführt und ich wurde in die Position „Datenforschung und -entwicklung“ befördert.
Seite:
Stellen Sie sich zunächst einmal vor.
Ich: „Ich habe zwei Projekte durchgeführt. Ich habe mehrere Arbeiten und Patente geschrieben. Ich habe auch am Alibaba-Big-Data-Wettbewerb teilgenommen. Gleichzeitig habe ich aus persönlichem Interesse Außerdem habe ich einen kleinen Teil des Quellcodes von HDFS angeschaut und die Kernidee von HDFS verstanden. Ich habe eine Funktion erkannt, die sehr einfach und noch nicht perfekt ist. „HDFS“ Was ist der Innovationspunkt einer der Arbeiten? 🎜>Ich: „Die Artikel oder Patente, die ich schreibe, folgen hauptsächlich einem Prinzip: Anwendung bestehender Theorien oder Modelle auf neue. Szene. Daher sind sie alle auf Anwendungen ausgerichtet. Konzentrieren wir uns auf diesen Artikel. Beginnen wir zunächst mit der Singularwertzerlegung ..."
Nach etwa ein paar Minuten. Der Interviewer1unterbrach mich: „Alle Dinge, die Sie tun, gehen in Richtung Data Mining. Warum haben Sie nicht in Data Mining investiert?“
Ich: „Denn nach meinem Verständnis erfordert die Position des Data Mining eine eingehende Forschung zu Algorithmen für maschinelles Lernen. Was ich jedoch mache, ist auf die Anwendung von Data Mining-Algorithmen ausgerichtet. Deshalb möchte ich.“ Investieren Sie in Forschung und Entwicklung, ausgerichtet auf Data Mining und Vertrieb.“ Beginnen Sie auf diese Weise mit den Grundlagen. „
Interviewer1 : „Eigentlich besteht Ihr Vorteil darin, dass Sie Data Mining durchgeführt haben. Nun, ich werde Sie zuerst mit einem Interviewer für Datenforschung und -entwicklung interviewen. Kommen Sie später auf mich zurück.“
Obwohl Ich habe mich auch systematisch mit maschinellen Lernalgorithmen beschäftigt, allerdings ist die Kontaktzeit zu kurz (einige Monate) und die Forschung ist nicht tiefgreifend genug. Ich habe nur wenige Algorithmen in Wettbewerben eingesetzt:
LR, RF und
GBRT. Der eigene Vorteil liegt im Verständnis von Daten, der Extraktion von Merkmalen und der Anwendung von Algorithmen. Der Prozess zur Ableitung des Algorithmus ist nicht klar, aber die Idee ist verstanden. Ich hatte Angst, zu detaillierte Fragen gestellt zu bekommen, und war daher zurückhaltend. Auf Drängen des Interviewers 1 stimmte ich jedoch schließlich zu. Ich atmete erleichtert auf, als ich das Schild des zweiten Interviewers mit der Aufschrift „Datenforschung und -entwicklung“ sah. Zum Glück war es nicht „Data Mining“. In diesem Jahr gibt es ziemlich viele offene Stellen für Stellen im Bereich „Datenforschung und -entwicklung“, und viele davon gehen an kleine und kleinste Finanzdienstleister. Nach dem Interview denke ich, dass die Jobanforderungen für „Datenforschung und -entwicklung“ wie folgt sind: Beherrschung grundlegender
SQL-Anweisungen, weil dort; ist eine schriftliche Testfrage. Ich denke, dass Alibaba sein eigenes
ODPS-SQL(ähnlich wie
Hive) für die Datenforschung und -entwicklung verwenden sollte komplex, aber die Anforderungen im Vorstellungsgespräch sind nicht hoch. Beherrschen Sie einfach die grundlegenden integrierten Funktionen und SQL-Anweisungen: Auswählen, Gruppieren nach…. Während des Wettbewerbs habe ich Zehntausende Zeilen SQL-Code geschrieben (mehrere Tausend Zeilen nach der Deduplizierung; ich habe oft integrierte Funktionen verwendet). gelegentlich UDF (benutzerdefinierte Funktion) verwenden. Der geschriebene Code enthält jedoch keine Indizes, Ansichten und UDF. Ich habe den Optimierungstest nicht gemacht (tatsächlich verstehe ich ihn auch nicht). Der Interviewer verfügt über einschlägige Erfahrung in der Datenforschung und -entwicklung und scheint diesem Aspekt große Bedeutung beizumessen. Ich habe am Alibaba Big Data-Wettbewerb teilgenommen. Haben Sie eigene Ansichten zur Datenforschung und -entwicklung. Das ist sehr wichtig, Sie müssen einen klaren Kopf haben. Ich spreche hauptsächlich von den Modellen im Wettbewerb: Datenvorverarbeitung->Trainingssatz, Vorhersagesatz
->Merkmalsextraktion
->Weiterverarbeitung->Positiv- und Negativprobenverhältnis->Training->Vorhersage. Natürlich wäre es besser, wenn Sie MapReduce schreiben könnten. Die Plattform von Alibaba bietet MapReduce, das voraussichtlich in der Arbeit verwendet wird. Hier ist eine ausführliche Einführung: Super lange Version
ODPS MapReduceErste Schritte Beginnen Sie dann mit der Kommunikation mit dem zweiten technischen Interviewer. Interviewer2: „Erzähl mir etwas über dich.“
Ich: „Ich Ich habe gerade andere Erfahrungen vorgestellt. Lassen Sie mich hauptsächlich meine Erfahrungen im Zusammenhang mit der Datenforschung und -entwicklung vorstellen. Anschließend sprach ich kurz über den Alibaba-Big-Data-Wettbewerb, an dem ich teilgenommen habe.
Interviewer2: „Okay. Lass uns zuerst eine Frage stellen.“ Der Interviewer stellte mir eine Frage zu SQL: Gegeben sei eine Tabelle mit vier Spalten: user_id, brand_id, time, cnt (Ausgegebener Geldbetrag). Wählen Sie aus dieser Tabelle den Gesamtbetrag aus, den Benutzer B für jede Marke Marke gekauft hat. Als ich es sah, war ich ein wenig froh, dass es dem, was ich im Wettbewerb gemacht habe, so ähnlich war. Nach einer kurzen Kommunikation mit dem Interviewer schrieb ich es schnell auf ; Allerdings hatte ich immer noch Angst, Fehler zu machen, also habe ich es lange überprüft, bevor ich es dem gegeben habe Interviewer 2 . Übrigens, wenn ich Strings verarbeiten muss, verwende ich ODPS-SQL in UDF. Der Interviewer schaute sich das Verfahren an und legte es beiseite, ohne etwas zu sagen. Später besprechen wir hauptsächlich den Alibaba-Big-Data-Wettbewerb: Was habe ich gemacht, welches Modell und welchen Algorithmus wurden verwendet und wie hoch ist die Genauigkeit? (Diese Diskussion nimmt die meiste Zeit in Anspruch) Glücklicherweise habe ich hauptsächlich das Verständnis von Geschäft und Daten besprochen und Data-Mining-Algorithmen nicht ausführlich besprochen. Die Diskussion verlief gut. Nachdem es vorbei war, brachte mich der Interviewer 2 zurück zum Interviewer 1. Nach meiner Rückkehr besprach ich den Artikel, den ich geschrieben hatte, weiterhin mit dem Interviewer 1. Da ich die Arbeit, die ich zuvor geschrieben habe, zusammengefasst habe, ist mein Denken sehr klar. Und sprach über die Erfahrungen und Vorteile des Schreibens der Arbeit. Kurz gesagt, der Interviewer beim ersten Interview war sehr nett und das Gespräch hat Spaß gemacht. Um es noch einmal zu erwähnen: Ich persönlich denke, dass es zwei Haupttypen von Interviewern gibt: Die eine besteht darin, Sie mithilfe von Technologie zu Tode zu befragen, um zu beurteilen, wie tief Ihre Beherrschung ist Technologie. Die andere Art besteht darin, Sie zu bitten, nach einfachen technischen Fragen zu sprechen und Sie zum Sprechen anzuleiten, um Ihre umfassenden Qualitäten wie Ihre Gedanken, Ausdrucksfähigkeiten und persönlichen Meinungen zu testen. Wenn ein Interviewer sieht, dass Sie sich nicht gut ausdrücken können, wird er Ihnen natürlich weiterhin Fragen stellen. Ich fühle mich geehrt, dass ich den zweiten Interviewertyp kennengelernt habe. Vorstellungsgespräche sind so einfach wie Chatten. Endlich erfolgreich bestanden. Der zweite Interviewer: Der Interviewer im zweiten Interview führt Java-Recherchen durch und Entwicklung. Am Anfang haben wir noch über den Wettbewerb und die Verteilung gesprochen. Später wurde mir eine Frage zu einer umfangreichen Textverarbeitung gestellt: „Finden Sie die Top3-Zeichenfolgen in einem großen Text.“ Ich habe in diesem Bereich keine Nachforschungen angestellt, daher ist die Antwort nicht gut. Java Frage: „Erzählen Sie mir etwas über die Struktur von JVM Netzwerkproblem: „TCP/IPs Drei-Wege-Handshake und Vier-Wege-Welle“ Dann Ich fing an, nach dem JavaWEB-Problem zu fragen. Ich habe nur über diesen Aspekt erfahren 3 sagte: „Es ist in Ordnung, erklären Sie einfach Ihr Verständnis.“ Interviewer3: „Wo werden Taobao-Benutzerdaten (Warenkorb...) gespeichert? Wie wird eine hohe Parallelität erreicht?“ Ich weiß nicht viel über diesen Aspekt, daher erlaubte mir der Interviewer, mich frei zu äußern; meine Antwort war auch nicht gut. Interviewer3: „Dann fragen wir Sie nach Ihrem Algorithmus. Geben Sie zwei ganzzahlige Arrays ein und geben Sie ein Array zurück: zwei öffentliche Werte im Array. „ Eigentlich war ich zu diesem Zeitpunkt etwas verwirrt und nervös. Ich habe angefangen, den Schnellsortierungsalgorithmus zu schreiben, und die von mir verwendete Methode war nicht die beste. Der Interviewer war nicht sehr zufrieden. Als ich später zu Mittag aß, dachte ich, dass ich tatsächlich O(nlgn) und dann sortieren könnte O (m n) ist in Ordnung. Als ich mit anderen diskutierte, dachte ich, dass dies in einigen besonderen Situationen tatsächlich mit der Idee des Hashings erreicht werden kann. Komplexität O(K), K ist der Maximalwert im Array. Interviewer3: „Testen Sie Ihre Beherrschung der Rekursion. Schreiben Sie eine Funktion und geben Sie int Typ, gibt die Zeichenfolge in umgekehrter Reihenfolge der Ganzzahlen zurück. Beispiel: Geben Sie 123 ein und geben Sie „321“ zurück >erfordert, dass eine Rekursion verwendet werden muss, globale Variablen können nicht verwendet werden, die Eingabe muss ein Parameter sein und eine Zeichenfolge muss zurückgegeben werden. ” Nach dem Mittagessen, als ich mit anderen diskutierte, kamen mir plötzlich einige Ideen zur Verwendung von Binärbäumen zur rekursiven Lösung von Problemen wie Tiefe und Anzahl der Blätter in den Sinn: Fügen Sie bei jeder Rückkehr A return hinzu Wert. Zu diesem Zeitpunkt war der Interviewer nicht sehr zufrieden und es war Zeit zum Essen. Dann sagte der Interviewer 3: „Lassen Sie uns das tun. Ich helfe Ihnen, einen Datenentwickler zu finden, und Sie können erneut zu einem Interview gehen. Überlassen Sie ihm die Bewertung.“ Obwohl er zögerte, stimmte er dennoch zu. Schließlich war die Leistung dieses Mal zu dürftig. Um zu vermeiden, dass am Nachmittag die gleichen Fragen gestellt werden. Nach dem Mittagessen diskutierte ich mit anderen Studierenden das Algorithmusproblem. Dann gibt es noch den Interviewer 4, der sich noch in der zweiten Person befindet. Interviewer4: „Stellen Sie sich einfach vor, wir unterhalten uns und diskutieren technische Probleme. Erzählen Sie uns von Ihren relevanten Erfahrungen.“ Dadurch fühle ich mich entspannter. Wie zuvor kann ich unzusammenhängende Erlebnisse in einem Satz zusammenfassen. Abschließend konzentrieren wir uns auf den Big-Data-Wettbewerb von Alibaba. Interviewer4 ist sehr an dem Wettbewerb interessiert, daher habe ich mich von Anfang bis Ende auf den Wettbewerb konzentriert. Hauptsächlich diskutierte Modelle, Algorithmen und Funktionen. Konzentrierte sich auf mein Verständnis der Daten und wurde vom Interviewer anerkannt 4. Ich sagte: „Während des Wettbewerbs müssen wir uns jeden Tag die Daten ansehen, um Merkmale zu extrahieren. Wenn wir das nur als Zahl betrachten, ist das wirklich langweilig.“ Allerdings Es wird sehr interessant, es als eine Art Benutzerverhalten zu behandeln und zu analysieren. Nach der Datenbereinigung sehe ich beispielsweise, dass ein Benutzer jeden Tag auf eine bestimmte Marke klickt, sie aber einfach nicht kauft dass er ein Diaosi ist; Einige Leute haben gekauft, und sie sind offensichtlich reich und gutaussehend.“ Kurz gesagt, sie sprachen nur sehr über das Spiel und ihr Verständnis der Daten leicht. Endlich erfolgreich bestanden. Drei Seiten Ich habe schon vor langer Zeit gehört, dass es immer noch viele Menschen gibt, die in die HR eingestiegen sind Interview dieses Jahr Wird sehr wahrscheinlich ausgeschieden. Seien Sie also vorsichtiger. Später fand ich heraus, dass es nicht unbedingt HR war. Da der Interviewer nach mehreren Interviewrunden noch besprechen muss, ob er den Bewerber akzeptiert, wird er ein Angebot unterbreiten. Einige Personen, die entlassen wurden, wurden möglicherweise vom technischen Interviewer wegen schlechter Leistung in der Vergangenheit entlassen, nicht wegen HRjj. Ich habe gehört, dass Kandidaten aus den Bereichen HR , Data Mining und Algorithmen im Allgemeinen eher für andere Positionen entlassen werden; Wir haben darüber gesprochen: wie wir unsere eigenen Stärken und Schwächen verbessern können; Während des Interviewprozesses habe ich hauptsächlich zwei Punkte hervorgehoben (unter Verwendung meiner eigenen Erfahrung): Ich diskutiere gerne Probleme mit anderen wird unerwartete Gewinne erzielen. Darüber hinaus werden Beispiele aus Projekten, Wettbewerben und dem täglichen Leben aufgeführt. Ich habe sogar gesagt, dass ich die Frage des technischen Interviewers gerade nicht beantwortet habe, aber während privater Gespräche mit anderen Interviewstudenten (die ich nicht kannte) wurde ich plötzlich erleuchtet. Behandeln Sie die Arbeit als Teil des Lebens und arbeiten Sie glücklich. Hier geht es hauptsächlich darum, wie ich während des Wettbewerbs langweilige Dinge in interessante Dinge verwandelt habe. Abschließend fragte mich der Interviewer, ob ich Fragen hätte. Ich sagte: „Als ich am Wettbewerb teilgenommen habe, bin ich der Gruppe von Ali Wangwang beigetreten. Es gibt viele interne Mitarbeiter darin, und durch sie habe ich viel über Ali erfahren; also.“ , es gibt nichts zu fragen.“ Ende Das Interview ist beendet. Nachdem ich herausgekommen war, überprüfte ich schnell meinen Status: „Drei Durchgänge“; nach einer Weile änderte er sich plötzlich in „Interview beendet“. Ich habe von anderen gehört, dass das Ende des Interviews bedeutet, dass Sie versagt haben. HRNachdem Interview ist der Status „in drei Punkten bestanden“, „in vier Punkten bestanden“, „Interview beendet“ usw. Das ist normal. Denn sie müssen auch anhand der bisherigen Gesamtleistung prüfen. Das bedeutet nicht, dass das „Interview beendet“ kein Angebot erhält und Sie es möglicherweise auch nicht erhalten. Später hörte ich, dass einige, selbst diejenigen, die „von allen Seiten durchgegangen“ waren, das Angebot nicht erhalten würden. Zusammenfassung: Für diejenigen, die eine solide Grundlage haben, lassen Sie den Interviewer fragen, was er will. Ich denke jedoch, dass es für jeden möglich ist, mit dem Fragen aufzuhören, weil er auf diese Weise die Tiefe Ihrer Meisterschaft sehen möchte. Für mich sind die Grundkenntnisse durchschnittlich: Ich kann Datenstrukturen, Sortieralgorithmen und Rekursion schreiben; ich verstehe einige grundlegende Theorien; ich verstehe einige grundlegende Konzepte und Theorien. Sie können nur die Vorteile Ihrer eigenen Wettbewerbe, Projekte, Arbeiten und Patente voll ausschöpfen. Während des Interviewprozesses ist es sehr wichtig, die Interessen des Interviewers zu erfassen und ihn zu Ihrem Vorteil zu nutzen. Natürlich wäre es besser, wenn Ihre Stärken nicht in Bereichen liegen, die der Interviewer sehr gut kennt, aber der Interviewer ist mehr daran interessiert. Bei mehreren meiner Interviewer fiel mir beim Chatten auf, dass der Interviewer 1 an meinen Papieren und Patenten interessiert war und der Interviewer 2 und der Interviewer 4 interessieren sich für den Alibaba-Big-Data-Wettbewerb, und der Interviewer 3 interessiert sich für meine Grundfähigkeiten. Interessiert, HR ist an Kooperationsmöglichkeiten interessiert. Der Interviewer 3 wollte nur nach meinen Grundlagen fragen, obwohl ich viele Male versucht habe, ihn zu meinen Stärken (Data Mining und Distribution) zu bringen, war er gezwungen, mich dorthin zu bringen zurück. Für einige andere Interviewer habe ich das Thema bewusst auf den Alibaba-Big-Data-Wettbewerb umgestellt. Zufälligerweise hatte keiner von ihnen ein tiefes Verständnis für diesen Wettbewerb und kein gewisses Interesse daran, sie verbrachten die meiste Zeit damit, diese Inhalte zu diskutieren; Kurz gesagt, nutzen Sie Ihre Vorteile optimal aus. Kostenlos erhaltenLAMPEBand of Brothers Original PHPTutorialCD/《 DetailsPHP》Essential-Version, bitte kontaktieren Sie den offiziellen Website-Kundendienst für Details: http:/ /www.lampbrother.net PHPCMSSekundärentwicklunghttp://yun.itxdl.cn/online /phpcms/index.php ?u=5 WeChat Developmenthttp://yun.itxdl. cn/online/weixin/ index.php?u=5 Serverseitige Entwicklung des mobilen Internetshttp ://yun.itxdl. cn/online/server/index.php?u=5 JavascriptKurshttp://yun.itxdl.cn/online/js/index.php?u=5 CTOTrainingslagerhttp://yun.itxdl.cn/online/cto/index.php?u=5
Das Obige stellt Alibabas Interviewerfahrung und Zusammenfassung vor (Datenforschung und -entwicklung, Java-Forschungs- und Entwicklungsrichtung), einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die an PHP-Tutorials interessiert sind.