2018 Spring Intern School Recruitment Lessons (1) Ali

Overview written at the front

The author is a third-year student of 985 at the end of the year, following the pace of seniors and sisters, and embarked on a long journey to find an internship in March 2018. Now that I think about it, it's still a little late to prepare, and I haven't paid much attention to it, so the preparation is insufficient. It is said that some friends began to prepare during the winter vacation. So insert a word, it is very important to prepare early! ! !

The author has delivered a total of 16 companies, including pure Internet, software and hardware combination, including Tencent, Ali, Huawei, 360, Xiaomi, Qunar, Jingdong, etc. There are six or seven companies who have received interviews, and as of writing this article In the article, I received a total of test offers from Tencent, a development offer from Qunar.com, and an offer from an IT engineer from Sangfor. After thinking about it, I still plan to go to Tencent to take the path of automated testing.

It is also not easy. Some of them failed in the written test stage, and there is still a lot of room for improvement in their algorithm foundation. Written test interview is really the fastest way to improve your ability, of course, it also consumes more energy and financial resources (hahaha), because you also have to take into account school studies. My character is that students must do their job well in their studies. But not for others. Some students just don't fail the course, and put more energy into their areas of interest. It's a matter of opinion.

experience

Let's talk about Ali first.

Ali was the first company I had a formal interview for, and I suffered from a lack of preparation.

Internship position of Alibaba's Java development - service application development. I called to make an appointment on the second day of the internal push. I was in class at the time, so I made an appointment for the next day. At this time, some classmates had already met Ali's side, so I went to learn from classmates. The classmates talked about his interview experience. He smiled and said that it can be summed up in four characters "horrible." The interviewer asked some classic questions, such as Java's automatic boxing mechanism, classloader loading, jvm and so on. Hearing this, combined with the face scriptures I read on Niuke.com, was a cramming. Because writing Java at school is usually considered an "API porter", I haven't thought deeply about the principles of some commonly used tools. I have prepared some frequently asked questions, including self-introduction from the beginning, to Java's JVM model, GC mechanism, hashmap structure, CAS, CAP, distributed and so on.

The next day, the interviewer called as scheduled, and I have to say that Ali has the best interview experience among all the companies I have interviewed with. The whole process is very kind and guiding. For one side of the problem, I made a summary. Of course, many questions are asked for resumes, so write them on your resume and be fully prepared.

question:

1. Self-introduction (work, project experience)

2. You said just now that you like writing, what aspects are included? technical article?

3. You said that you have done some testing work before, can you introduce the framework and methodology used for testing? How to ensure the quality of the test?

4. Did you mainly test manually at that time? Is there some way to automate this?

5. You said that you have built a website imitating Tmall. How far has this website been achieved and what functions have it achieved?

6. Can you tell us about the architecture of the website? What open source software did you use?

7. How much do you know about spring?

8. Name a few design patterns you are more familiar with.

9. The difference between the factory pattern and the abstract factory pattern.

10. The website considers concurrent processing. For example, an inventory, several people buy it, how to control it?

11. You added a lock to the code to control it, right?

12. For example, if your application is deployed on a single machine, it may actually require multiple jvms and multiple machines. How to lock the inventory and solve concurrency in this case?

13. Distributed cluster solution inventory?

14. What is the difference between optimistic locking and pessimistic locking?

15. What are the characteristics of database transactions?

16. Have you used some of the collection classes and data structures in java?

17. How much do you know about the underlying structure of the hashmap?

18.Is hashmap thread safe?

19. For example, I want to use hashmap to make it thread-safe. Is there a similar ready-made class that can be used?

20. The difference between TCP and UDP.

21. The difference between HTTP and HTTPS.

22. Have you ever understood the model of java runtime and the model of jvm operation?

23. What is the difference between heap and stack used by JVM?

24.The difference between java and C++.

25. For example, one day you find that your online website is very slow, is there any way to improve the performance of the website?

26. Why is nosql faster?

27. The partition of the database, can you be specific?

28. CDN mechanism?

29. Do you have any questions about our side?

 

I feel like I answered 60% to 70%, but I didn't answer some questions very deeply. I also learned a lot of my shortcomings from this interview.

Two days later, the interviewer from the second interview called and asked me to meet again. We agreed on a time. The interviewer reminded me that the second interview would involve online programming, so I was prepared.

 

The second interviewer called as scheduled and introduced himself as the architect of the Ali Taobao platform. After listening to his introduction, I suddenly felt that this was a big man, and I was a little nervous. It's been a long time, and it's roughly as follows.

面试官:首先自我介绍吧。

我:好的,balabala。

面试官:我对你说的关于个人小账本程序比较感兴趣,在编写这个小程序的时候遇到哪些哪些困难呢?

我:(woc,这些比较久远的细节模糊了。。。)emmm,我记得当时在我的设备上有时候不能实时刷新,但是在同学的设备上可以,所以我怀疑有兼容性的问题。

面试官:那怎么排查呢?

我:......(当时比较懵,其实应该说可以写日志的)

面试官:没关系,对于spring boot这样的微服务架构有过了解么?

我:......不是很了解,只是知道spring boot是spring的一个精简。

面试官:嗯,好,你平时使用的序列化工具都有哪些呢?

我:平时Java开发一般都是实现Java的序列化接口(我估计当时面试官可能想引导我回答fastjson,gson之类的)。

面试官:好吧。你今后有什么规划么?读研?工作?

我:工作。

面试官:嗯。你有什么问题要问我么?

我:emm,我想问一下,从大学生到比如您这样的架构师,需要在哪些方面下功夫呢?

面试官:balabala(面试官讲了很多,大致是说专业领域、前瞻性、工具之类的)。好了,今天暂时这样吧,我也是做业务的,算法今天就不写了。

 

一星期之后,查询状态“已回绝”。

 

5月8日更新:又收到了阿里的笔试通知,估计是内推转网申的,不过现在感觉很晚了,但是还是准备试试,毕竟阿里是我非常喜欢的公司。

 

总结

1.准备不足。有的小伙伴准备了好几个月的时候,我才刚刚开始看,很多面试题本来都是可以深入回答的,但是却没有回答好。

2.要认真推敲简历上的每一个字。因为面试官会针对简历问问题,所以简历上写的东西,要深入理解,最好从原理、编码、场景、应用、实现(深入汇编)多方面想想。

3.对于一些常见的问题,可以事先想好,比如什么自我介绍啊,要问面试官什么问题啊,日常怎么学习新知识啊之类的。

 

未完待续...

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325898175&siteId=291194637