Byte Beat Android Three Sides + HR Side + Summary, I have got an Offer

Personal background

Bachelor degree, software engineering major, a summer internship (Meituan) and several Android projects.

I have interviewed several companies intermittently before, and some of them have submitted their own resumes. They submitted the byte headlines in advance and hung on the final page. They officially approved and voted on Douyin. After three sides, they received the HR interview soon. I have got an offer.

One side (~45min)

1. Introduce the project, talk about the work content and thoughts of the internship (~10min)

2. What is a memory leak, what are the memory leak scenarios in Android, and what are the reasons?

3. What are the JVM GC process and GC algorithm?

4. The concept of process and thread, how to realize multithreading in Android? (Thread Handler AsyncTask IntentService, etc.)

5. The principle and use of Handler

6. How is Handler bound to thread (Looper) and why Looper.loop() is designed as an endless loop

7. What is the difference between several internal classes of Java

8. Activity's life cycle and startup mode

9. Writing the title: the right view of the binary tree (the level sequence traversal is enough)

One side is relatively short and the questions asked are relatively basic. After about 30 minutes, the two sides will start

Two sides (~1h30min)

1. Introduction

2. Introduce the project, why do you need to learn Android by yourself (~5min)

3. How does Android realize multi-process and what is the application scenario (bad answer)

4. Does Android's IPC mechanism (Binder) understand (the answer is not good)

5. How to implement stack (FILO) with two queues (FIFO)

6. The difference between HashMap and HashTable, the principle and implementation of HashMap, the algorithm of hash()

7. If you design your own hash, how to design it and why?

8. String hashCode() and Object hashCode()

9. The concept and relationship of virtual memory and physical memory, the scheduling algorithm of memory paging

10. How to implement LRU cache

11. Can I write a java.lang.Object class by myself and which one will be loaded by the system?

12. Implementation of Generics in Java

13. Do you know common sorting algorithms, write quick sort by hand

14. The method of locking in Java, the principle of the synchornized keyword, what are the implementations of pessimistic locking and optimistic locking

15. Deadlock conditions and solutions, talk about bankers' algorithm

16. TCP's three-way handshake waved four times, why wave four times

17. TCP flow control algorithm (sliding window), congestion control algorithm

18. How to solve the multi-instance problem caused by users frequently clicking to open a new Activity (Activity startup mode)

19. How to judge whether two acyclic singly linked lists intersect

20. Rhetorical question

The volume of second-sided questions is very large, but there are no particularly difficult questions. If you prepare carefully, you can answer most of them. The interviewer was also very friendly and gave a lot of guidance and tips. Because of the time of the three-sided interviewer, the three sides of the appointment two days later

Three sides (~45min)

1. Introduction

2. Tell me about the work done by the internship. Did you do it yourself? What difficulties did you encounter? What were the results?

3. How does RecyclerView implement item caching? What is the difference with ListView (I was asked because the item is used)

4. Design question: WeChat's contact list function

(1) Design an API for adding contacts (answer in terms of possible ways, data forms, and interface parameters)

(2) How to implement the UI of the contact list

(3) How to realize the quick positioning function of AZ initials

6. Is it a self-taught Android? Why did you choose this direction? Do you have any experience for students who want to teach themselves?

7. Where are you from and why you want to work in Shanghai

8. Rhetorical question

There are not many three-sided questions, but because most questions do not have standard answers, the difficulty is actually higher than one or two

HR surface (~40min)

1. Self-introduction
2. Graduation time
3. Postgraduate
entrance examination 4. College entrance examination volunteers
5. Number of majors
6. Major rankings
7. Internships
8. University life
9. Which department of the student union
10. What clubs to
participate in 11. What competitions to participate in
12. What awards
have been won 13. Have experience in team competitions
14. Participation time
15. Project background
16. Project division
17. Whether the project team leader
18. What programming language is used to write the project
19. The programming language of your own choice is still selected by the teacher
20 . Is the division of labor arranged by you or individually claimed?
21. What to do if there are differences in the team?
22. What is the biggest challenge for you in the process of working on the project?
23. What makes you most sense of accomplishment in college
24. In the class What position do you hold
25. What do you gain from participating in competitions and projects
26. Have you published any papers
27. Common hobbies
28. Where is your hometown
29. Intended place of work
30. Career planning
31. What you are currently doing
32. Also deliver Which companies
have you 33. What are your preferences for the industry?
34. How to look at the work intensity of the Internet industry
35. What do the family members think about work and
postgraduate entrance examination? 36. There are graduate students everywhere, do you regret not taking the postgraduate entrance examination?
37. Will you still go to the postgraduate entrance examination after work
38. Do you have high self-control
39. What games
do you like to play 40. When can you Go for an internship
41. How many courses are there in the first semester of the senior year
42. When will the school start
43. What is the expected salary
44. What programming language is good at
45. What are the advantages and disadvantages
46.

At last

After a few sessions, I also summed up some life experiences

1. The preferred method of pushing resumes is fast and efficient! Then you can look at it on the hook, boss, Maimai, and street.

2. It is stated on the resume that you must be familiar with any technology if you are familiar with it , otherwise it will not be very embarrassing to be asked!

3. What projects have you done? Even if the project size is not large, you must be familiar with the implementation principles . It is not part of your responsibility. You can also see how your colleagues implemented it. What would you do if you do it for you? What has been done and what is the breadth question depends on the content of the project. But what has been done and what state has been reached is a matter of depth, which has to do with personal learning ability and problem-solving attitude.

Large companies look at depth, small companies look at breadth. You will be able to interview for a large company, and will you use what they interview for a small company, that is, job matching.

4. After choosing a few companies you want to go to, first go to some small companies to practice, learn the interview skills , sum up, you can be considered familiar with the interview atmosphere, usually when you are PK with colleagues or products, you can speak well and think. It's extremely clear, and it's really different when you get to the scene. How to describe everything you do is definitely an academic question!

5. The interview process must be polite ! Even if you feel that the interviewer does not respect you and often interrupts your explanation, or you feel that he is not as good as you, and the questions asked lack professionalism, you must also respect him. Who told him to choose you now and wait for you to get the offer Then you choose him.

6. In addition, it must be slow to describe the problem ! Don't talk about it all at once. It seems that you are calm and confident, and you still have time to react to your idea of ​​how to talk better next.

Nowadays, there are too many developments that rely on IDEs, so there will be a drawback. When we explain in an interview, it is easy to not know how to read a certain method. This is a flaw...

So be sure to read the common key category names, method names, and keywords accurately. Some interviewers are impatient and will say "Which one are you talking about?" At this time, we will easily get confused. Correct pronunciation + calm description + nice voice is definitely a plus!

7. The most important thing is the ** mentality! Mentality! Mentality! **Important things are said three times! The interview time is very short, and it is still relatively unrealistic for the other party to find out your foundation in a short period of time. Therefore, sometimes it is also a time to look at the eye. This is still an era of looking at the face.

I hope everyone can find a job that suits them! fighting!

End of the text add information on preparing for interviews have been read, the contents include: Android studying architecture PDF + Video + source notes , senior technical architecture Advanced Brain Mapping, Android interview with thematic development, senior advanced information infrastructure that few content

These are the fine materials that I will read again and again in my spare time. There are detailed explanations on the high-frequency knowledge points of interviews with major factories in recent years. I believe it can effectively help everyone master knowledge and understand principles.

Share with everyone, it is very suitable for friends who have interviews in the near future and want to continue to improve on the road of technology. I also hope that it can help everyone to advance

If you need it, you can click to get it !

If you like this article, you might as well give me a like, leave a message in the comment area, or forward and support it~

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/108248965