The bitter interview road of Zha Zha Erben: from Shenzhen outsourcing to Hangzhou Ant Financial, 4 years of small Android crawling process

Write at the beginning

The author studied in Changsha in 16 years and went to Shenzhen where opportunities are everywhere after graduation. The first job was an outsourcing company, whose main business was e-commerce and electronic payment information security. One year later, he switched to a subsidiary of China Resources to do finance. Has been working for 4 years. Everyone knows that for programmers who do not have a background in a prestigious school or a big factory like me, the only bonus item for an interview is a certain aspect of technical depth. Therefore, I also suggest that all of you, like me, choose a direction that interests you or is more confident, and continue to delve into it.

As we all know, the winter of 2020 is very tormented, the epidemic is raging, and a large number of Internet companies are laying off employees or even closing down. Years later, the competition in the gold three silver four job-hopping season has become more fierce, and job demand has dropped sharply. Job seekers are hard to find, and even fewer people can find their favorite offers. Therefore, I did not rush to find a job amidst the pandemic. Instead, I waited and watched while collecting interview materials and interview questions, so as to precipitate myself and improve my core competitiveness.

In the gold, nine, and silver ten job-hopping seasons that just passed, the domestic epidemic has basically stabilized. After the economic recovery, the pressure of interviews will not be so great, and I started to submit a resume. The order of my resume delivery is based on the small company -> large company. There are many small companies in Shenzhen, and relatively few medium and large companies. Therefore, in the interview process of more than one month, I have estimated that it is about face-to-face. 6 small companies, 2 medium-sized companies and 1 large company. Before I go to a larger company, I usually visit one or two small companies to warm up.

The following are some of the questions asked in the interview

basis:

1. Describe the life cycle of Activity?
2. What are the life cycle callbacks when A Activity opens B Activity?
3. The startup mode of
Activity is described separately 4. How to save the state of Activity or (How to save data
when Activiy restarts?) 5. The life cycle of Activity when switching between horizontal and vertical screens
6. The difference between onStart, onStop and onResume, onPause?
7. What is the life cycle when switching between horizontal and vertical screens?
8. What is the difference between Context, Activity and Appliction in Android?
9. What is Context? How many
contexts does an application have ?
10. Is the service executed in the main thread, and can time-consuming operations be performed in the service? 11. Android application startup process
12. How to ensure that the Service is not killed?
13. Between which two life cycles does onActivityResult call back?
14. What is the life cycle of Fragment?
15. The difference between Activity and Fragment?
16. Briefly describe the Acitivty task stack and how to use it.
17. Please describe the BroadcastReceiver
18. The life cycle of BroadCastReceiver
19. What is the service life cycle?
20. How to start Service? What happens if the startup methods are intertwined?
21. How to create a Dialog dialog box in Service
22. The difference between Service and Thread?
23. Does ActivityManagerService understand? what's the effect?
24. What is the difference between the two registration methods of broadcasting?
25. What are the steps for broadcast sending and receiving? Do you understand the principle?
26. How does ContentProvider realize data sharing?
27. The difference between activity startActivity and context startActivity
28. Why use ContentProvider? What is the difference between it and sql implementation?
29. How to optimize ListView? (Reuse, smooth sliding, etc.)
30. Under what circumstances can BroadcastReceiver not receive broadcasts?

Android medium to high level

1. TCP's three-way handshake and four waved hands, why not two handshake? Why wave one more time?
2. How to analyze the performance of Android applications
3. The difference between Devik process, linux process and thread 4. How does android application
limit memory? How should we reasonably use memory?
5. Principles of digital signature
6. Common design patterns in Android source code and design patterns commonly used in development 7.
How does Android and js interact
8. Enter URL in the web page, and the whole process of rendering the entire interface, and the middle What protocol was used?
9. Tell me about the handler mechanism?
10. How to use Handler for child threads?
11. Tell me about your understanding of ThreadLocal in Handler?
12. When was the Looper of the main thread created? When is the main of ActivityThread called?
13. There is an infinite loop in the Handler. Why is the main thread not blocked? What is the principle?
14. How to optimize the custom View
15. How to solve the event conflict of the View? Give an example encountered in development?
16. Network request cache processing, how does okhttp handle network cache?
17. The difference between WebSocket and socket?
18. How is the delay of handler postDelay achieved?
19. What are the functions, differences and connections between hashcode() and equals()?
20. Handler, Looper, MessageQueue, Thread relationship?
21. How does Hashmap solve hash collision (must ask)?
22. Why is the bottom layer of Hashmap not thread safe?
23. How to optimize the ItemView level of RecyclerView is too deep?
24. How to design the communication between Android threads?
25. Bitmap JPG difference image processing: the difference between JPG, PNG and BMP?
26. Broadcast (global and local differences)
27.
onSaveInstanceState and onRestoreInstanceState differences, when to call 28. What is the difference between Serializable and Parcable?
29. Do you know SurfaceView and what is it? What is his inheritance method? The difference between it and View (from the perspective of source code, such as loading, drawing, etc.).
30. Tell me what is cold start and hot start, the difference, how to optimize, usage scenarios, etc.

The interview question set and answers are at the end of the article

Let me talk about the difficulty of interviews at different company levels based on my interview experience.

Small company (0-200 people)

Generally, as long as you receive an interview invitation from this type of company, as long as you can clearly explain the structure of the project you have done , the important and difficult points of the project , and some basic Android knowledge is a little more solid, and then you prepare a little bit or two deeper technology Point, what GC mechanism, basic hot repair principle, 10 minutes, the offer is appropriate, individual companies may take some simple algorithm questions and intellectual questions, such as bubbling, search and so on. In Shenzhen, the price of Android for three years is generally in the range of 12-15. Individuals with money may have an upper limit of 18, usually around 15. As for the interview questions are too conventional, I won't say much here. If you want to see the interview questions and detailed answers, you can directly look at the summary part.

Medium-sized company (200-1000 people)

Actually, I don’t face many of these companies. The BL who interviewed in Shenzhen, engaged in foreign exchange finance (ps: financial business-related companies are richer, if the interviewer shows interest in you during the interview, talk about salary You can be bold when I go for an interview. The company should be in the expansion stage, and there are a lot of interviewers. The questions asked are more extensive, including Java, Android, algorithms, and frameworks. Although the questions are more basic, I will answer them a little deeper than he asked. Maybe it’s a good impression of me, and I talked for half of it. After many hours, he told me to wait a while, and then called their Team Leader. Then I asked some detailed questions about the event distribution and drawing process, and also asked some basic questions about the binder. I can basically answer it, and then the leader directly asked me what my expected salary is (generally a technical interviewer will ask you directly This problem, it means that the offer has been stabilized) I said: 22K. The leader smiled and said: Okay, he will give me a reply next week.

Later, I did receive a reply, but the reply said that 22k can't give it, and 18k can come to join the job, and then...there is no more.

Large company (more than 5000 people)

Tencent

After one side, there is no news, so there is no right to say...
Interview questions start from the basics like other small companies, but the interviewer will ask in depth step by step until you can’t answer, and then the next point, frame , Principle problems and work experience in performance optimization are more important. I don’t think I’ve answered too badly, I can only say that there are too many excellent people in the interviewer, and I’m not eye-catching enough.

Shanghai Bilibili (Station B)

One side of station B

1. Self-introduction
2. Treemap, red-black tree, fully balanced binary tree
3. Quick sort and insertion sort
4. How to sort a roughly ordered array, the fastest time complexity
5. How to customize a FlexLayout
6. RecyclerView Recycling reuse mechanism
7. How to achieve partial updates of RecyclerView
8. Talk about the understanding of generics, how is the analysis of generics in Retrofit
9. Talk about understanding of the binder mechanism
10. Process status, thread status, Is there a difference between the two
11. The understanding of synchronized locked objects
12. The life cycle change of
Fragment replace 13. What is the difference between TCP and UDP? Talk about the process of beckoning and waving.
14.
Have you ever used C++ for development? 15. Do you understand Dalvik and Hotspot virtual machines? What's the difference?

Two sides of station B

1. Say that you have done the most satisfactory project
2. Performance optimization What work have you done
3. What work have you done for screen adaptation
4. What pitfalls (difficulties) have encountered and how to solve it
5. If you want to come Develop a page of station B, which page can be started quickly
6. Which frameworks have you used? MVVM? Has Jetpack started?
7. Which open source libraries
have you used? 6. Have you used hot fixes and plug-ins, and what pits have you encountered? Can you talk about the principle?
7. Why do you want to come to station B ? What kind of video to watch more, like more or more prostitutes?
8. What do you think can be optimized in station B APP

It can be said that the interview at station B is purely because of interest. I have been using the APP of station B during my university years. It is a very good place to learn and entertain. Because I was going to Hangzhou noodles, I spent two days playing with my friends in Shanghai. By the way, I tried to warm up at station B before I met Ali. One side and two sides are next to each other. When I was invited to three sides, I had already left Shanghai and went to Hangzhou. , There is no more text.

Ant Financial

To be honest, Ant Financial was interviewed by me. I submitted my resume before, but I did not receive an interview.
The difficulty of this interview is generally to the middle level. The interview process is similar to Tencent's. It is also from the basics to the deepest questions until you can't answer them. I also asked some security questions, because my work in the past few years was also a financial job, so it was relatively easy, and that's why I came to Ant Financial. The other focus is on architecture technology, design ideas, and some mastery of third-party libraries to use these.
After the technical interview, hr will talk to you about salary. As we all know, Ali's benefits are very good, and the monthly salary is 18k, which is not bad.

During the period, I also interviewed companies such as Baidu, Huawei, Byte, and Meituan. However, both Baidu and Huawei have higher requirements for academic qualifications, so they did not get an interview opportunity. Byte and Meituan tend to recruit technical experts over 5 years, so they have not succeeded either.

Interview review notes:

This information will be published in various blogs and forums starting from the spring recruitment of 2020. Collect the high-quality intermediate and advanced interview questions for Android development on the website, and then find the best solution for the whole network. Every interview question is a 100% real question + the best answer. Package knowledge + many details. Save everyone's time to search for information on the Internet to learn, and you can also share with friends around you to learn together.

Due to space reasons, the following screenshots show part of the content. If you need the following complete study notes PDF, you can like + comment to support the worker brother, click here to pick it up for free !

The main body is divided into 6 parts in total:

Java Basic (★★)
Java Advanced (★★)
Android Basic (★★★)
Android Advanced (★★★)
Android Project (★★★)
Project Interview FAQ (★★★)

1. Java basics (★★)

Object-oriented thinking
, polymorphic
exception handling,
data type,
Java IO
collection,
Java multithreading

Java Advanced (★★)

Reflection in
Java Dynamic proxy in
Java Design pattern & recycling mechanism in
Java Class loader in Java

Android basics (★★★)

Basic knowledge of Android
Activity
Service
BroadCastReceiver
ContentProvider&Database

Layout
ListView in Android
JNI & NDK
Network Access
Intent Fragment in Android

Android Advanced (★★★)

Android performance optimization
Android screen adaptation
AIDL
custom control
event handling in
Android Android signature
animation
network protocol in Android
Other

Frequently Asked Questions of Project Interview (★★★)

  • Development cycle
  • Problems encountered in the project
  • The biggest gain in the project
  • How the project went live
  • How the project is profitable
  • Draw project architecture diagram
  • Project development process
  • Your role in the project
  • Which modules in the project are you responsible for
  • Talk about the specific implementation of the module you are responsible for
  • Which third-generation frameworks are used in the project
  • Have you ever written a framework by yourself
  • How do you improve yourself (learning) in your spare time
  • Do you have your own technical blog
  • Your career plan
  • Why leave
  • Why choose our company
  • Talk about the highlights and shortcomings of your project
  • How does your project maintain a consistent style
  • How is the project structure built
  • How to solve the screen adaptation
  • What source code have you seen
  • How is the project version upgraded
  • What version control tool to use
  • Can you develop independently
  • How the app interacts with the server
  • Have you written the requirements document?
  • Has the interface document been written?
  • Which cloud servers have been used
  • Which third-party platforms have used

Resume + social recruitment solution + classic HR interview analysis

The above is a summary of the real questions encountered in the Android intermediate and senior interviews. I hope it will be helpful to everyone. At the same time, many people often encounter many interview questions about resume production, career confusion, and HR classic interview questions. Similarly, I have also collected and compiled a full set of resume production, puzzles of recruitment by the Golden Three and Silver Four Clubs, and HR interviews. If you have any questions, I can provide professional answers.

For Android development friends, it should be the most comprehensive and complete interview information. In order to better organize each module, I refer to many high-quality blog posts and projects on the Internet, and strive not to miss every knowledge point. Many friends relied on these contents to review and got offers from big manufacturers such as BATJ. This information has also helped many Android developers, and I hope to help you too.

Due to space reasons, if you need the PDF of the above complete study notes, you can like + comment to support the worker brother, click here to pick it up for free !

Thank you for reading this article. If you can receive your likes, it will make me very honored. I hope we can become friends and share and exchange Android technology together.

Guess you like

Origin blog.csdn.net/Androiddddd/article/details/113556412