preface

June 19 years away from netease cloud music, gave up the study opportunity, started the first startup of life, both before and after the try for two projects, because of personal ability and time factors have failed, although fail to enjoy the entrepreneurship can bring high lever material rewards, but soft skills for individuals and ego boundary on cognitive all had the very big promotion, For this experience, I would like to give the following four points to friends who are preparing to start a business and walking on the road of starting a business.

  1. Entrepreneurship is essentially a process of reducing the risk of a business model. (You’d better go to the smart hardware exhibition hall of 798 in Beijing before starting a business)
  2. When you’re feeling vague about your future and bored with the present, jumping out of your comfort zone and trying something fast is the best solution.
  3. Open yourself up to various “ghosts and monsters”. Most of your current problems have been experienced by people before you and can provide you with concrete and practical solutions.
  4. Avoid armchair strategist, actually to do the texture of the book will never learn, to do rather than to see.

After this time entrepreneurship and previous work experience, for the next portion of the work on the choice also have more ideas, so for job growth and platform background is the comparison of the present value of, of course, money is an important index of assessment (all in growth and ownership to encourage overtime don’t give money to the company are PUA). With my own career development aspirations, Kuaishou and Bytedance are the target companies for this job search. The offer of these two companies was also the first to get, because the offer process took a long time, so I interviewed some other companies and felt the work process of each company. During the interview, the interviewer also gave a lot of suggestions on technical development and discussed some technical and design problems. Some interviewers shared their business and business model. In short, their professionalism, technical vision and business model have been improved unconsciously.

A job search trip

Before you start before the first want to thank the colleagues in netease and netease cloud music platform to provide growth opportunities, meet the leader and colleagues are all very awesome, give enough space to grow up and at the same time the problems in the work at ordinary times also gave us a big help, especially in cloud music of this period of time, as a new graduate, I am very grateful to have the opportunity to independently take charge of the core module and participate in the technical optimization work. At the same time, tens of millions of daily living App is also very plus, resume is basically seconds. So for the double non-undergraduate students, the school recruit or as far as possible to squeeze into a big factory, the road behind will be more and more easy to walk.

Probably left the company at the beginning in March, start to prepare the interview, because at the time of netease, opened up a weekly column wheel, every week to read a third-party source of open source framework, through the blog to export at the same time, the process set up his own technology accumulation, and cultivate their ability to read the source code in preparation for a job, Can also be very good for reading, and at the same time in the study of the third party open source framework also revolves around three sides done deeper research framework related technologies, through the review of this part of the blog, thus played a great help in the interview, here is recommend to do some more records in the process of work at ordinary times, had better continuous output through the form of blog, My blog is synched with SegmentFault, Gold Digging and Jane Books, user ID Jensen121, below are some of the entries on various platforms. Welcome to pay attention to exchange.

  • Jane books platform

  • The nuggets platform

  • SegmentFault

Drop off company and get Offer

For job stability and future development, I mainly consider three directions: short video, stranger social interaction and online education. While short videos may have slowed human exploration of deep space, they do not affect the fantasy of being raised with dignity. All the interview companies except wechat have passed the interview, and offer bytedance, Kuaishou, Baidu, Meituan. Finally, bytedance was selected to live broadcast in Taiwan business.

online education

  • Ape Tutored India K12
  • And who learn

Through the communication with the two companies, it greatly changed my perception of online education, education has always been considered as a service industry before, online is lame, but now the large double system and result oriented, process by secondary teachers and parents to participate, and with the aid of the convenience of online is not subject to regional restriction, can quickly to spread the cost of master class, Lower costs can better make up for the offline now caused by lack of education resources and can’t really go to their aptitude, online can provide pew, improve, different levels, such as the basis of courses, help students at different levels in the performance of ascension, and now the national teachers’ establishment of austerity, for three or four line lower city high quality education resources become more scarce, It has great potential to transport the first and second tier high-quality education resources and export them to the sinking market in layers. However, it is regrettable that this huge business opportunity will eventually lead to extreme introvolume. Economic downturn, more good education industry.

  • Interview difficulty and style

1. Apes counselling, because is a startup company, facing the K12 in India, at a very early, interview difficulty is relatively low, because at that time for Android with Java is basically didn’t do much preparation, the brain before completely on the remaining impression, answer in general, must Android asked some questions, and then writing an algorithm, The optimal solution is done. It passes one side. The second interview was with CTO, and I asked some questions about career planning. Maybe because the asking price was too high, it was not cost-effective for the start-up company, and the willingness to join the company was not strong, so there was no follow-up.

2. The interview content was relatively simple. I asked some questions about several frames written in the resume, and the interviewer was very honest.

Short live video

  • Live well quickly
  • Bytedance is broadcasting live to the center

Kuaishou live at present is a unique far ahead of other, it is said that the technical reserve is also the industry leading. Live revenue is a core revenue sources, quickly a big bytes to beat it is to set up the department of China last year, this year is going to power is the core of development and imagination space for both the business and technology may be bigger, then China is divided into the business and technology, just points to the technical department, so on the choice tend to bytes.

  • Interview difficulty and style

There are three rounds of technical interviews in both companies. The first two rounds are mainly about the investigation of Android, Java and basic knowledge of computer, while the third round is about the leader interview, which focuses on system design, algorithm and communication skills. In the first two rounds, the difficulty of Kuaishou is higher. What impressed me most was the third side of Kuaishou as well as the second and third sides of Byte. The third side of Kuaishou was a big man who came back from Facebook. The questions he asked and the guidance in the interview were very good and the conversation was very comfortable. The second part of byte is a real technology mogul, who feels that his resume is too low. The third part is a handsome young brother, who is very warm and good at communication. Besides the interview, he also gave some advice on technical development and career.

other

  • Meituan main App
  • Mobile phone baidu
  • Wechat client
  1. Meituan asks a lot of questions in combination with the project, and the majority of open questions can not be found in a random question bank on the Internet, which I think is quite good, it can effectively prevent all kinds of problems through short-term training to memorize questions to get offers. The interviewer has a very unique style, which is based on computer and inspects basic skills. Almost every word you answer should be followed up and dug to the end. You can choose silence, but every word you say will become the next interview question. At the same time, I discussed with the interviewer about the development of cross-platform and small and medium-sized program containers of major super apps, and also talked about his views on this technical trend.
  2. Mobile phone baidu, surface finished after two rounds of technology, managers face, some basic computer technology interview, managers face is mainly talking about starting my own business related things, after managers face chat, added a technical interview, make the subject, dynamic programming algorithm, and then talked about the personal planning and career choices and views on baidu.
  3. WeChat. Wechat itself may not be very short of manpower, this time is mainly to recruit video account, wechat so restrained product iteration, for recruitment requirements are very high, the knowledge of the investigation is less, mainly in the investigation of the project, emphasis on systematization, what is your upstream technical requirements? What feedback did you bring to the technical optimization line, how to follow up continuously, how to make optimization, however… The requirement is more senior with more systematic project experience.

The interview questions

For the preparation of the interview, the algorithm suggested to brush “Sword Finger Offer” and “Algorithm” on Niuke.com, and then the third party framework used in the previous project, to understand its core implementation process and framework characteristics and some ingenious details of the implementation. For the foundation of Java, I recommend in-depth Understanding of Java VIRTUAL Machine, Effective Java and the Beauty of Java Concurrent Programming. For Android, I recommend reading Android Development Art Exploration and Android source code Design Pattern analysis and Combat. There is no special depth, can be used as a directory outline, introduction, to do more in-depth study. In addition, for the projects I have done before, the projects I have written on my resume should be deeply explored and explored, and the knowledge points and highlights should be extracted from them.

Android article

  • Handler implementation mechanism, synchronization barrier, IdleHandler
  • Can Looper be created on child threads
  • How does the Handler implement timed sending of messages
  • How HandlerThread is implemented
  • Event passing mechanism, combined with sliding conflict specific scenarios to solve problems
  • View drawing process, from Vsync signal to viewrotimpl to the final View draw
  • Apk packaging process (What happens after you click the Build button in Android Studio

)

  • Apk installation process
  • How does Handler cause an Activity to leak memory, and how do you detect a link to a reference to GCRoot
  • Fragment life cycle
  • Activity Displays the status after switching between different boot modes
  • The screen reverses the Activity lifecycle change
  • How does the Activity lifecycle change behind the Dialog pop-up?
  • How does an application startup process interact with AMS and PMS
  • How does EventBus work? How do sticky events work? Why and what are the advantages of Using EventBus?
  • Retrofit’s implementation principle is asked in conjunction with dynamic proxies
  • Difference between Picasso and Glide
  • The difference between Volley and Okhttp, the implementation of Okhttp and its advantages
  • How to implement multi-process database and file operation?
  • Android signature, V1, V2
  • How is the life cycle implemented in Glide
  • How does Glide load a Gif
  • Memory leaks and memory optimization in Android
  • The difference between MVP, MVVM, and MVC already applies to scenarios
  • Why doesn’t Android APK work on IOS, and how can it be designed to work?
  • Android system design why to use virtual machines do not directly execute machine code?
  • What are the advantages of the differences between running machine code through virtual machines and executing machine code directly?
  • Dalvik and ART
  • How is the Native lifecycle notified to the Web?
  • Know ANR in Android?
  • What about the OOM in Android?
  • Realization principle of cache in RecyclerView
  • The realization principle of ItemDecoration in RecyclerView
  • Activity, Window, WindowManager, Viewrotimpl how to see the relationship between these
  • What is the difference between broadcast dynamic registration and static registration?
  • The way processes communicate in Android, what are the advantages of Binder?
  • How does SparyArray and ArrayMap work?
  • Have you ever used Koltin?
  • Have you used RxJava and Retrofit?
  • Communication between Web and Native
  • Difference between SurfaceView and TextureView
  • Why does Surface use dual buffering?
  • How to optimize Bitmap loading?
  • The difference between commit and apply in SharePreference

Java related

  • The difference between HashMap and HashTable, ConcurrentHashMap
  • ConcurrentHashMap version 1.7 and 1.8 are different
  • Implementation principle of LinkedHashMap
  • ArrayDeque implementation principle
  • What methods are available in Java Object? When will the equals and hashCode methods be overridden?
  • Pessimistic locking and optimistic locking in Java, give examples and explain their implementation.
  • CAS Implementation Principle
  • Implementation differences between Synchronized and ReentrantLock
  • Synchronized modification of different methods, the difference in the lock object held
  • How ThreadLocal works
  • Volatile usage
  • A little bit about generics
  • Generic erasure
  • When does generic erasure not occur
  • What are the thread-safe and unsafe collection classes in Java?
  • Java garbage collection mechanism
  • Memory allocation mechanisms in the JVM
  • Java class loading mechanism
  • The application of the lock in the usual project
  • What types do Java thread pools provide by default? Which scenarios are suitable for?
  • What do interrupt(), interrupted(), and isInterrupted() mean in Java threads?
  • Dynamic versus static proxies

Algorithms and Data Structures

For the client, there will be no questions with too much difficulty, and the difficulty is at the medium level of “Sword Finger Offer” and “LeetCode”. Basically, you can write bug free. For complicated ones, the interviewer will give you hints or just ask you to talk about some ideas. Everything else is handwritten. Because Baidu does not need to write, investigate ideas, so the difficulty will be more difficult.

  • You have points in two dimensional coordinates, and you take a line that covers as many points as you can
  • The linked list represents a number, the sum of two numbers, return a linked list
  • List inversion
  • Minimum depth path print for binary tree
  • Find two numbers in an unordered array that sum to a value, return the index value
  • Subsequent traversal of binary trees, non-recursive implementation
  • The longest non-repeating substring in a string
  • Backpack problem (Maximum capacity vs. maximum Value)
  • The difference between dynamic programming and recursion, what problems can dynamic programming be used, what problems can not be used
  • Sorting algorithm type and complexity, whether there is a better optimization space
  • What is the LGN of NLGN in sorting complexity
  • Heap sort is related, the difference between the heap in heap sort and the heap in stack
  • What is the oldest string of two strings? For example abc1234, 123BC (complexity of violent methods, complexity of dynamic programming)
  • What is a complete binary tree?

For algorithm problems, it is necessary to find the optimal solution, and handwriting can reach the level of Bug free. Meanwhile, time complexity can be given for all kinds of solutions, as well as the calculation process of time complexity.

Computer Fundamentals

  • TCP three handshakes, four waves
  • DNS Resolution Process
  • Difference between Http and Https
  • Https connection establishment process
  • What is a deadlock? How? How to eliminate?
  • TCP congestion control and flow control implementation?
  • Network request processing strategy under weak network, combined with live scene
  • Understand those design patterns?
  • What are the advantages of factory design patterns?
  • How are design patterns and policy patterns applied to projects?
  • What encryption algorithms have you used?
  • What about atomicity and visibility?
  • How do you guarantee atomicity?
  • Is data transmission in Https symmetric or asymmetric encryption?
  • The complement notation, what is the maximum value of int plus 2

Other Handwriting Designs

  • LruCache implementation
  • Producer, consumer model
  • Wechat recording module design
  • Design a log system
  • Designing an image loading framework, how would you do it?
  • Write a singleton implementation
  • What do you need to pay attention to when designing a small program container?
  • How to design authentication between Web and Native communication

HR plane and Leader plane

  • HR side

The HR interview is mainly about talking about past experience and job hunting intention. I think the probability of HR failing is very small when the business department decides to hire someone. Then, it is about salary expectation, to put it plainly, it is to deal with you around its KPI to keep the price low and ensure that you have enough willingness to work. Make fun of it, the HR quality of a company is really exploded, ask me how much money I lost in entrepreneurship? Is your girlfriend in Beijing? (Special is going to keep me?)

  • Leader face

What are you looking for in this job? What do you think you can bring to the company? Of course, the differences in the interview styles of different companies are still quite big, and the companies mentioned above feel that the quality of the interview is still quite high, giving full respect to the interviewees. This link unless you feel that your job content and salary expectations and they can provide a big gap, generally can pass.

Summary of Interview Knowledge

Through the above problems can be seen that, for the interview process in addition to the original project, for investigation on knowledge points, mainly is the basic knowledge of Android, Java basic knowledge, computer networks, system design, algorithm, combined with the interview questions and to prepare some kind of learning in the process of recording, by way of a brain figure below for a comb.

The following is a compilation of my own interviews, of course, it does not cover all the Knowledge of Android, you can combine your own daily projects and some books in the compilation.

Knowledge of the Android

For Android, from packaging to installation, and then to the start of an App, to a page to display the content, and then to our fingers to touch the screen to bring changes to the screen, the process can follow the corresponding source code, follow the process to their own stroke, even if not to prepare for the interview, Being a repository of Android knowledge is also a great speed up for development. When the above process is sorted out, and then consider the various aspects of each link, the control of the process is also very valuable for our systematic optimization of the application.

Java knowledge

Java in addition to some of the basic knowledge of the investigation, mainly for the Java virtual machine, and multi-threaded scenarios for lock control, as well as some of the collection of classes related to the implementation and optimization of the point. The process is how a.java file is compiled into a.class file, and then how the JVM loads that binary stream and executes it, and how memory is allocated, and then after allocation, how objects are allocated, and bytecodes are executed.

Algorithms and Data Structures

The algorithm section suggests to read the “Algorithm” search and sorting, and at the same time follow the “Introduction to algorithms” to learn about the calculation of time and space complexity, common topic types are these in the picture, in my previous blog there is a dynamic planning phase, teaching package meeting.

System Design

As for system design, I have done small program container and cloud game before, so I will be asked, other parts should not be caught to ask, other parts should be asked more frequently in the three rounds of interview.

Computer network

The common way to ask the computer network is to enter Baidu from the browser to the page return process, along the process to expand out DNS resolution, TCP connection, Http, Https.

conclusion

The interview journey has finally come to an end, and now I will prepare the relevant work before entry. For the knowledge points mentioned above, I will continue to output them in nuggets, brief books and SegmentFault based on the project practice and share them with everyone, hoping that everyone can get their desired offer.