This year 3 About the middle of the month, Alibaba rookie network was launched by clients , to 4 month 17 No. 1 was officially accepted by Alibaba school for internship offer. suffer Hollis I'm here to summarize the relevant questions during the interview . Below is the internship Offer Letter of intent .
One , Profile and interview process
I studied in a non 985 wrong 211 A University of , Postgraduate study in 985 colleges and universities , The current research direction is cloud computing and big data . Intern promotion department is rookie network , The post invested is the backstage development Java( Including big data development ).
Here is an example of personal interview process , I have experienced four telephone interviews in the course of the interview （ Technical interview ） And a live interview , The on-site interview includes a round of technical interview and a round of HR interview .
Different people here may have different telephone interviews , At that time, my little friend who went to the interview with me also had a telephone interview, only one or two rounds . After general on-site interview , If it passes HR Noodles , I'll give you an internship in the back offer( Personal information ). Of course, it's also possible that you'll have another technical cross interview ( Classmate experience ), But this is usually a grading interview for you , Basically, it's not a big problem .
Two , Summary of technical interview questions
Here is a summary of the technical questions I have been asked in the whole process of technical interview . It will be introduced from the following four aspects ：
Basic knowledge problems , Programming language related issues （Java）, Big data related problems and programming problems .
Basic knowledge problems
1, Von Neumann architecture .
2, Seven layer model of computer network .
3, State transformation of process （ Basic transformation among three states of a process ）.
4, UML chart （UML Six relationships in the figure ）.
5, The understanding of object and the importance of object-oriented in the process of software development .
6, Common models in the process of software development .
7, Characteristics of common sorting algorithms （ time , Spatial complexity ）.
8, TCP and UDP sketch .
9, The problem of paradigm in database （ Generally, the third paradigm is enough ）.
10, Conflict handling method of hash algorithm （ Can be combined Java in HashMap Source code analysis ）.
11,MySQL Index in （B+ Tree index ）.
Basic knowledge problems generally involve a wide range , The interviewer mainly wants to examine your knowledge . We don't need to worry too much here , Because knowledge points are complicated after all , It's almost no problem to be able to answer about 70% .
Because the basic knowledge covers a wide range , It's hard to give detailed books , Here is a list of the books I usually review ： High performance MySQL,
Books for postgraduate entrance examination （ Ruwangdao series , Including operating system , Computer network, etc ）.
Programming language related issues （Java）
1,Python Etc Java Advantages and disadvantages of comparison .
2,Java Thread safe collection class in （ Related implementation principles will be involved , Source code problem ）.
3,Java Memory partition in virtual machine .
4,Java Virtual centralized garbage collection process , Garbage collection algorithm and garbage collector .
4,Java Multithreading correlation in （ The interviewer will ask you if you have such a multithreaded question in the actual project ）.
5,Java Class loading mechanism in .
6,Java Lock technology in （synchronized,lock etc. ）.
7,Java Design pattern （ You can say the design pattern that you are familiar with , Interviewers will generally ask if you have applied one or several design patterns to the project ）.
8, Thread execution start What state does method change after ?（ Ready state , Here's why ）.
9,Java 8 New features （ You will generally be asked what version you are currently using JDK, Based on your answers, ask if you know the added features of this version compared with the previous version ）.
10, Related source reading questions （ If you have read the source code , Here is a brief explanation to the interviewer , As bonus ）.
In programming languages, the questions are a little deeper , The interviewer will follow you step by step . If I ask you Java Thread safe collection class in , After you answer , The interviewer may ask you what you have used and whether you have seen the relevant source code . If you have seen it, I will give you a general introduction to the implementation principle . The problems of programming language are quite concentrated , as Java virtual machine ,Java Multithreading is generally a must ask question .
The following books are recommended here ：
In depth understanding Java virtual machine , Big talk Java Design pattern ,Effective Java.
Here we suggest that you can read Daniel's blog online , Summarize .Java The related implementation source code in can also be read online blog learning , as ConcurrentHashMap stay Java 7 and Java
8 Implementation differences in .
Big data related issues
Because the big data processing framework I mainly use is Spark, So the questions here are mainly focused on Spark This one . Yes Spark Unfamiliar students can skip Spark Related issues .
1, sketch Spark How it works .
2, When was it used Spark And why Spark.
3, describe Spark and Hadoop The difference between .
4, describe Spark In Shuffle stage .
5, describe Spark Fault tolerance mechanism of .
6, describe Spark In CheckPoint() And usage scenarios .
7, describe Spark Processing method for tilt data .
8, The difference between database and data warehouse （ You may be asked further business questions based on your answers , For example, where is the real-time data of Alipay payment? ）.
9, What other big data frameworks have been used .
10, Design distributed software framework , What should be considered .
11,Spark Source code introduction （ Here I mainly ask if you have read the source code , If you read it, the interviewer will continue to brief you ）.
The main problems of big data are focused on Spark, Here are the related books I read ：
Spark Rapid big data development , graphic Spark Core technology and case practice
Spark Big data processing technology , Application and performance optimization
If there are students who vote for big data positions , It is better to be familiar with a big data computing framework , And can read the relevant source code . Being familiar with a big data computing framework can give you a lot of points in the interview , So we suggest that you can spend time to master a big data computing framework .
I have few programming problems in the whole interview process , There are mainly four programming problems .
1, How to find the largest subtree of a two branch tree . The node values in the binary tree are positive and negative , The definition of the largest subtree of a binary tree is that the sum of the node values in the subtree is the largest among all subtrees .（ Telephone technology ）
Give you a blog , How to find out the forbidden words in this blog .（ My answer at that time was participle technology and hash table . At last, the interviewer asked how to do if some words could not be distinguished . Because I don't know much about this , After a brief answer, the interviewer didn't follow up .）（ Telephone technology ）
3, Write a Java program , So that the execution of the program will inevitably deadlock （ The program can be very simple , Just write the general logic , Finally, I need to explain to the interviewer why deadlock occurs ）.（ On site technology ）
4, Give you a real business need , Required Spark To solve the problem . The questions asked here are relatively simple , But I suggest that you should think about it comprehensively .
Recommended books ： Sword finger Offer,
Recommended websites ： Niuke.com ,LeetCode
Interviewers are usually very interested in our projects , I was in five rounds of technical interviews , The interviewers all asked about my project . Because different people have different projects , No more details on the project . The following general problems are simply given .
1, Project profile and your role in the project .
2, What difficulties you encounter in the project and how you solve them .
3, If you want to optimize the project again , What would you consider （ Here we can consider the normalization of the whole code , Reusability, etc ）.
4, For such big data development projects , Which one should we choose Java Virtual machine and why .
5, What did you learn through this project .
HR Interview questions
Some students think it's too technical , here we are HR Everything will be fine , In fact that was not the case. ,HR Face is also very important . I have some friends around me HR It was brushed on the face , So you guys have to be right HR Interview attracts attention . Here I list myself HR Questions asked in person .
1, Why go to graduate school ? What are the benefits of postgraduate study ?
2, Except for Ali , Which other companies did you invest in ? If you and Ali choose one of these companies , Will you choose Ali ? Why? ?
3, I got it when I was a college student offer Do you ? Why don't you go? ?
4, What do you think is your biggest advantage ?
5, Talk about one of the most impressive projects to date and why .
6, If you get painted this time , What do you think is the biggest reason ?
7, If you enter Ali , What is your career plan ? And what do you do for your plan now ?
HR Face time is not related to technology , Mostly talking about life or future development plan with you . Here we are and HR Try to relax when communicating , Don't be too nervous .HR After face ,HR I'll ask you some questions , At this time, you can ask questions related to your future work and the business needs of your department .
Summary of personal interview experience
During the interview , We should be modest , Even if you know something clearly , Don't show that kind of arrogance . For some knowledge points, if you really don't know them or don't grasp them firmly , Don't pretend to understand , Be clear with the interviewer about your lack of knowledge and show that you will make up for it later .
Usually after the interview , The interviewer will ask if you have any questions for him , At this time, I suggest that you must communicate with the interviewer , Ask yourself about the deficiencies in the interview process . This will not only increase the interviewer's liking for you, but also make you have more targeted review in the future .
Finally, I wish you all the best offer.