当前位置:网站首页>A full set of tutorials for interviewers from Android manufacturers teach you: prepare for the interview and get the offer smoothly!

A full set of tutorials for interviewers from Android manufacturers teach you: prepare for the interview and get the offer smoothly!

2022-06-24 15:21:00 Android technology dry goods sharing

Preface

you 're right , I went out for an interview some time ago , A colleague of mine told me : His former boss told them , Whether job hopping or not , You should go out for an interview every year . I personally support this idea , At least when we were young, we should try to do so , Of course, I can't do it myself. Ha ha .

Text

This year's Internet employment situation

I said before :“2019 May be the worst year of the past decade , But it's the best year of the next decade “, This sentence has been strongly verified on the Internet this year .

It's easy to understand : The Internet has developed rapidly in the past few years , The salary is much higher than that in other industries , And the entry threshold has been very low in the past few years , Basically, you can go to the organization for training and take the post in a few months , So there are many other professional training to become programmers . And the freshman newspaper major in recent years , There is also a trend towards computer majors , The overall supply-demand relationship of the Internet has reversed .

At the same time, due to the epidemic situation , Many small companies have closed down since last year , Further exacerbated the overall employment situation . So students who are going to resign naked had better weigh themselves , Unless you can't stand it or are really strong enough , Otherwise, it's better to ride a donkey and find a horse .

Accumulate in work

When you were young , for example Oneortwo years' experience , Through the preparation before the interview, you can often cope with many interviews , Because you're young , The company will be more tolerant to you , Pay more attention to your learning potential .

But when you get four or five years of experience , Even more , The company will value you The accumulation of , Because this age generally needs to be able to be alone , Recruitment can quickly take charge of a business . This is the time , If you don't think and accumulate at ordinary times , It will be difficult to deal with only by pre interview preparation , Even if I managed , There may be no bright spots , So as to communicate with other candidates PK Lost in .

therefore , We need to accumulate in our daily work , Meet men in difficulties , Think more about better solutions , Learn more from other people's excellent programs , Multi stage summary .

During the interview , We often encounter unprepared problems , If you don't study and accumulate much at ordinary times , At this time, I'm basically at a loss .

If you have constant thinking and accumulation , You can turn the question into : If you design this function , How would you design ? When you accumulate enough , It's easy for you to have your own design . Because the underlying design ideas of most excellent tool frameworks are the same , We all like to use excellent things , As long as we think in that direction , We have a high probability of giving a similar scheme .

I haven't seen this before , Through their own thinking, the design scheme given will add points to the interviewer .

Study outside of work

Growth at work is usually not enough , Especially most people's job is CRUD, So we must always Take time to learn .

1) First, you need to have a goal , If you don't have a goal, it's hard to stick to it . such as : To make more money 、 To be like xxx Like a cow, etc .

2) You don't need to spend all your spare time studying , Just spend some time every day or every week , Make yourself a habit .

3) Don't learn a little from the East and a little from the West , Try to focus on one direction

4) When studying, you can't just look at the tutorial ( Blog 、 The official account, etc ), One is to cultivate your learning ability , Another is that now many tutorials are to cut leeks, and the level is worrying . But that's not to say don't read these tutorials at all , But when you look at it, you should have your own thinking . These tutorials can be used as a reference , Learn more or rely on their own practice 、 Look at the official documents 、 Look at the source code .

5) Want to have “ Break the casserole and ask after all ” The spirit of , Don't just read it , Think more about why , Where there is doubt, we should thoroughly clarify it , Generally speaking , The source code can answer all your questions .

6) If self-discipline is not strong , Try not to touch the TV series 、 game 、 A novel 、 Tiktok, these are Kwai. , It's easy to get addicted , And it takes a lot of time . It can be like me , Whole things that don't take much time , For example, see the pirate king , Update one episode a week , Every episode without review and preview is 15 minute , Sometimes by pigeons , ha-ha .

7) Don't be afraid when you encounter complex knowledge points , We must face the difficulties , Simple knowledge, everyone will , I can't tell anything , Only these complex knowledge points can distinguish you from others . Many questions can be found on Baidu , Search more and see more , It's easy to understand .

Tell the truth , It's not hard to make progress , No official account is needed. , You don't need to collect a lot of information . Just calm down , Define a direction , Find one or two sets of information on Baidu 、 Buy two books 、 Download point source code , Accumulation step by step , At a certain stage, you will find that you have completed your transformation .

What should be prepared before the interview

The following is my own preparation , Students with similar experience can refer to it :

Usually after you start asking about the project , It's time to examine the basis of the candidates , Generally include Android Basics 、Java Basics 、Android Common open source framework 、 Design pattern and network foundation, etc . Let me enumerate the common inspection points in the interview :

Java Basics

  • HashMap1.7 and 1.8 Implementation principle of
  • final keyword , Why do anonymous inner classes use local references final

Java Multithreading

  • Use and principle of thread pool
  • Locking mechanism :synchronized、Lock
  • volatile keyword
  • ThreadLocal principle

JVM

  • Java Memory structure
  • Java Garbage collection mechanism
  • Java Class loading process

Android Basics

  • Handler Communication mechanism
  • Cross process communication
  • Activity Boot mode
  • Memory optimization 、 Layout optimization
  • View Drawing process of
  • Android Event distribution mechanism
  • Classification and principle of animation
  • MVC、MVP and MVVM Pattern
  • SparseArray principle

Android Open source framework

  • Android The network library :Volley、OkHttp and Retrofit Use 、 Principle and comparison
  • Android Picture library :Glide and Picasso Use 、 Principle and comparison
  • EventBus Use and principle of
  • RxJava Use and principle of
  • Router Use and principle of

Network foundation

  • HTTP relevant : Include HTTP2.0、HTTPS etc.
  • TCP relevant : Three handshakes 、 Four waves and so on

Design patterns

  • The singleton pattern
  • The proxy pattern : Static agents and dynamic agents
  • Observer mode

On the one hand, you can read the source code directly , On the one hand, you can search relevant articles on the Internet to learn , I've also done some tidying up here , See topic Android Developers will , I will also collect good articles , Welcome to pay attention .

in addition , Tencent interview really likes to ask the principle , And it's more detailed , Maybe I have senior job requirements , It's on one side ... In the future, we should strengthen the research on the principle .

Resume screening criteria for big companies

Here are some common screening criteria for large factories , Not a particular company , It is estimated that most of you also know , For reference only .

1) The current company , At present, the company that I work for is a big internet factory. I have passed the basic resume pass , Unless there are other particularly big problems .

2) Graduation school ( Undergraduate is more important ) And specialty , If it's a famous school , for example 211、985 And so on. , There will be a plus , If it's a non undergraduate course, you'll get points deducted , If you are not a computer major, you will be deducted points .

3) Expected salary , This may not have occurred to many people , But this is really an important screening condition , Because it directly reflects your current level . Main reference lower limit , If the lower limit is lower than a certain value, it will not be considered .

4) Age and years of work , It's a cruel fact , I believe everyone has heard of it “ The programmer 35 Take out at the age of 20 ”.

5) Expertise , If you have read some source code 、 If you have studied a certain framework in depth, you will get extra points , Use “ Master ” The deduction of words ha ha . And that is “ The whole stack ” Or a few years “ front end ” These are all points deducted . About “ The whole stack ”, Small companies may get extra points , But for large factories, points are usually deducted , Big factories usually want you to focus more on one piece .

6) project , If you go in the same direction, you get bonus points , High concurrency big data plus points .

7) other , Technology blog has good technology article bonus points ,github I have participated in some well-known open source projects , Points will be deducted if you have institutional training experience , Points will be deducted if job hopping is too frequent , Especially when it comes to small companies .

Sum up , For most people , Especially for young people , Big factory experience is very important , So if there is a chance to enter a large factory , Be sure to catch , Don't worry too much about the current salary , Big factories can give you opportunities to grow up 、 The follow-up salary increases are all unmatched by small factories .

How to stand out in an interview

Interview is how to make yourself the king of all candidates , So if you just answer normally , May become someone else's spare tire .

1) Have your own thoughts : Elementary , Why is this function designed like this ? More advanced , If you design it , Do you have a better plan ?

2) Breadth of knowledge : Elementary , The interviewer can answer all the questions . More advanced , While solving it, we can also pull some relevant knowledge .

3) Depth of knowledge : Elementary , You can give a version that most people know . More advanced , You can give specific implementation details .

The interview process of some large factories

Ali : Usually 3~4 Surface technology +Hr Noodles , At the end of each round, you can ask the introvert or manually query the interview results through the phone at the bottom of the interview email , Generally, the process is relatively long , Most of them take more than a month , It's impossible to face multiple departments in parallel .

tencent : Usually 3-5 Wheel technology +Hr Noodles , At the end of each round, you can ask recruitment Hr Interview results , Generally, the process is relatively long , There may be a week between each side , Most of the whole process takes more than a month , It's impossible to face multiple departments in parallel .

Meituan : Usually 3~4 Surface technology (3.1 Start one more round of intersections )+Hr Noodles , If it passes, it's generally 3 Make an appointment for the next interview in three working days , Generally, the process can be completed in half a month , It can be used in multiple departments in parallel , Meituan is one of the few companies that can run parallel , But once the first Department sets the salary and grade , Other departments in the follow-up will be graded according to the first salary even if they have passed .

Well quickly : Usually 3~4 Surface technology +Hr Noodles , If it passes, it's generally 2 Make an appointment for the next interview in three working days , I often get a phone call to make an appointment for the next interview within a few hours , Generally, the process can be completed in half a month , It's impossible to face multiple departments in parallel .

byte : Usually 3~4 Surface technology +Hr Noodles , The interview efficiency is quite high , Maybe we can finish the technical aspect in one day , The whole interview process is relatively fast , But the words offer It's slow , It's impossible to face multiple departments in parallel .

A lot of spelling : Usually 3 Surface technology +Hr Noodles , The on-site meeting can be finished in one day , And we can meet on Sunday , Generally, the process can be completed in half a month , It's impossible to face multiple departments in parallel .

Some points to pay attention to in the interview

1) Try to be confident , Confidence is built on how many weapons you have in your own arsenal , So in the final analysis, we should learn more 、 More than accumulation . 2) Start with a small company , The more interviews you meet, the better you play . 3) Video interviews advance debugging equipment , Don't be embarrassed just like I am when I find that I can't open the video . 4) When a big company talks about salary, it usually depends on whether you have other big companies offer, If you have other big factories offer It will help to talk about a good treatment , So we can have more than one .

Last

I like to compare learning to puzzles , It was hard at first , Efficiency is very low , And there may be some knowledge that you can't understand over and over again , Because you can't see the whole puzzle at this time .

But as long as you keep accumulating , When you accumulate a piece on the puzzle 、 After the West accumulated a piece , At a certain stage , You will find that many things you don't understand may suddenly understand , At the same time, learning efficiency will be much faster than before .

The next shared system learning resources are Explain the Internet companies in detail Android The common interview questions are the main line , From the angle of interview, I will introduce you the necessary knowledge , And the practical application of this knowledge point in the project .

Help you build on the present , Reorganize and establish Android Developed knowledge system . Whether you want to improve in the short term Android Internal strength , Break through the ability bottleneck in one's work , Or ready to participate in Android interview , You will get something from this information .

Start with the infrastructure , Divide up 8 There are three modules to step from basic to architect :

Don't say anything superfluous , Next, I will share a review route for the interview , But if you don't know how to prepare for the interview efficiently , You can refer to my review route , You are welcome to communicate with each other if you have any questions , Come on! !

Architects build the foundation of language

at present Android APP Developing a mainstream language is Java Language ,Java The biggest feature of language is to improve the possibility of software interaction , It can be said that almost all applications on Android phones use Java Language to write .

The design idea interprets the open source framework

With the continuous development of Internet enterprises , There are more and more modules in product projects , User experience requirements are also higher and higher , Want to achieve a little step fast 、 The goal of fast iterations is getting harder , Plug in technology comes into being . Without plug-in technology , Meituan 、 Taobao integrates a lot of “app” Application , There may be a few g So big .

therefore , Today's Android Mobile development , It won't be hot repaired 、 pluggable 、 Componentization ,80% None of the above interviews passed .

360° All round performance tuning

In the hands of development engineers at different levels , Because of the uneven level of technology , Even though many mobile phones are running, the software performance is very high , There is still stuck when opening the application .

in addition , As the product content iterates , More and more complex functions ,UI Pages are also getting richer and richer , It also becomes an obstacle to smooth operation . in summary , Yes APP Performance optimization has become a comprehensive quality that developers should have , It is also the guarantee that developers can complete high-quality application works .

Android Framework architecture

Android Framework architecture ( senior UI+FrameWork Source code ) This knowledge is the most used today , We call it Android2013~2016 Technology of .

Android Developers also tend to be online Copy The code gets used to it, which leads to frequent “ Use ” The code is familiar and unfamiliar : I am familiar with them almost every day , Copy the code every day ; Strange is that although I deal with these codes every day , But I haven't studied the principles of these codes , The deep meaning of the code .

NDK Module development ( Audio and video development series )

NDK(Native Development Kit abbreviation ) A software development kit based on native program interface , Can let you in Android Use... In application C and C++ Code tools . Programs developed with this tool run directly locally , Not virtual machines .

stay Android in ,NDK It's a collection of tools , Mainly used to extend Android SDK.NDK Provides a series of tools to help developers develop quickly C or C++ Dynamic library , And can automatically put so and Java The applications are packaged together into apk.

Flutter Learn advanced

2020 There is no doubt that the year of Flutter A year of technology in full swing . Now this technology is still very valuable .

Every mobile developer is working on Flutter It brings “ Rapid development of 、 Expressive and flexible UI、 Native performance ” We are crazy about our characteristics and ideas , From super App To stand alone applications , From pure Flutter To the mixing stack , Developers are exploring and applying in different scenarios Flutter technology , It's also facing a variety of different challenges .

Wechat applet development

Wechat small program as one of the more popular programming development application scenarios now , It is favored by the market , This makes many developers greedy . But for beginners , It's completely out of my head , I don't know what knowledge we need to learn when developing and making wechat small programs , Friends in need can refer to this article .

Android Related source code interpretation

“ Programming language is the way programmers express themselves , And architecture is the programmer's perception of the world ”. therefore , Programmers want to quickly recognize and learn Architecture , Reading the source code is essential . Read the source code , It's about solving problems + Understand things , More important, : See the idea behind the source code ; The programmer said : Read Wanxing source code , Practice in thousands of ways .

It mainly contains wechat MMKV Source code 、AsyncTask Source code 、Volley Source code 、Retrofit Source code 、OkHttp Source code and so on .

Android BAT Advanced development interview questions and answer analysis

Before the interview , Brush the topic, sprint

Within the week before the interview , You can start to brush questions and sprint . please remember , When I brush the questions , Technology first , Look at the basic algorithm , Such as sorting , And intelligence questions , Except for school recruitment , Otherwise, I don't usually ask .

About the interview questions , I have also prepared a set of systematic interview questions , Help you draw inferences from one instance .

All the above are free to share with you , Need a full version of friends , Click here to see the whole thing . Or click 【 here 】 See how to get .

Finally, I'll give you a bowl of chicken soup : When your talent can't support your ambition , Then you should calm down and study .

原网站

版权声明
本文为[Android technology dry goods sharing]所创,转载请带上原文链接,感谢
https://yzsam.com/2021/05/20210513190740636W.html