2018Android summer interview experience sharing

As a bi-slag Shuo, after two months in 2018, large and small companies interviewed Android positions, most recently at last ended the interview state, decided to take the sort of interview questions and relevant experience down, by the way comes with their own learning experience and preparation process, save save character, for the autumn of this year to recruit future battles.

I. Introduction

2012 Android came into contact with, from the first contact with you constantly hear the Android Market saturation, working hard to find other news. Though it was also very confused, but due to the first in-depth contact with programming languages, together with their own little interest, has been persevered.

By two months of the interview experience, Android did find jobs relatively small, and often require a relatively high, not only Android development experience, often also need to be React Native, JavaScript, etc., and even expect you to have the IOS development experience.

But as the graduating students or some advantage, and that is some of the first-tier Internet companies is quite fancy an individual basis and development potential, so if we can have on their professional orientation solid foundation , 1-2 actual development projects and personal interest , was able to find a satisfactory job of Android work. Currently these qualities, and he is very defective, it can be seen from the following interview experience, but at least there is a goal, you can get ready to prepare for the autumn trick.

Second, the interview experience

Large and small, he casts himself there more than 20 companies, but out of experience resume screening and written test, eventually went through seven companies in the interview. Now I put myself in the interview to ask questions posted for your reference, specific projects related not posted.

1, Alibaba

Ali was cast in early March, is his first interview major Internet companies, when their preparation is also inadequate, not very good, experienced three technical, and finally hung up.

Ali side

1. sort, quick sort
2. tree: B + tree introduction
3. FIG: directed acyclic graph to explain
4.TCP / UDP distinction sliding window, how to ensure the effectiveness of
5.volatile
6.synchronized and Lock the difference
7.Java thread pool
8.Java in the lifetime of the object
9. class loading mechanism
10. the parent delegation model
11.Android event distribution mechanism
12.MVP mode
13.RxJava

Ali two faces

1. The difference between abstract classes and interfaces
2.synchronized and Lock
3. Set collection Hash realize how to prevent collisions
4.JVM memory area open piece of thread affect memory
5. garbage collection object is created, the old and the new generation's
6 binary tree depth traversal and breadth traversal
7.B tree, B + trees
8. message mechanism

Ali on three sides

1. Project description
2. project done? The main issues addressed
3. Why Retrofit, RxJava
features 4.RxJava of
5. The process scheduling
6. processes and threads
7. deadlock
8. Process Status
9.JVM memory model
10. Concurrent collections understand what
11.ConCurrentHashMap achieved
12. CAS Introduction
13. lock the synchronized, lock
14. a threaded opening in three ways, RUN () and start () method distinction
15. the thread pool
16. the common data structures Introduction
17. Analyzing ring
18. sort, heap sort to achieve
19 list reverse
20. The massive data dictionary lookup
21. usually see what books

2. Netease game

Netease game was cast when there is no hopeful, explicitly specify that the information on the recruitment of the 985 colleges and universities recruit only a few fixed, you just voted, did not expect to call directly on the written test did not do interviews, but asked the question really in-depth the result is clear, side hung up.

Netease game face

1. collection
2.concurrenthashmap
3.volatile
4.synchronized and Lock
5.Java thread pool
6.wait / the Notify
7.NIO
8. garbage collector
9.Activity life cycle
, popupWindow, Activity distinguish 10.AlertDialog

3. Energy Vision

Vision Energy is an energy company Internet, internships treatment given is quite good, it is recommended by the roommate cast a resume. Finally finish the process, that hung in the two surfaces, the reason is probably not show for the project, lack of actual project experience.

Vision phone face

1. Four assembly
2.Android data storage
3. The implementation of the micro-channel of the main page
4. The red dot on the principle message micro-channel
5 projects to do, a problems impressive
6. see technical blog, impressed of

Vision field side

1. Unique set of two arrays, find common elements.
2. I asked extension, huge amounts of data, the memory does not fit, how determined.
3.Java in String understanding.
4.ArrayList and LinkedList distinction
The heap sort process, time complexity, the spatial complexity
6. The quick sort time complexity, spatial complexity

Vision scene two faces

Are some of the questions asked of the project, in broad terms, did not ask specific technical points

4. Today's headlines

Today's headlines are cast in early April, when looking for a month, did not get any decent offer, a little distracted, it has cast a wave of the sea. 4.18 made headlines today's interview, video interview conducted 4.25. Conducted a total of three video interviews, the interviewer headlines good, look out the headlines of technology is very strong, very focused on algorithms. Finally got the offer.

Today's headlines side

1. The concept of the data structure stack, heap sort
2. deadlock concept, how to avoid a deadlock
3.ReentrantLock
4.synchronized
5.volatile
6.HashMap
7.singleTask start mode
8. The use of open source framework, introduce a read the source code, internal processing.
9. messaging mechanism to achieve

Today's headlines two faces

1.synchronized and ReentrantLock
internal 2.ReentrantLock implementation
3. A number of open-source framework used to introduce a read source code, internal processing.
4.Java exception
5.App start crash abnormal capture
6. event delivery mechanism introduced
to optimize 7.ListView of
8. Today's news headlines to the recommended weight, the recommended time to remove the user has already seen the news.
9. binary tree, the root node and the destination node is given, find the path from the root node to the target node. Handwriting algorithm
10. The mode MVP, MVC introduced
realize 11. resumable

Today's headlines on three sides

1. The interfaces and implementation class set, introduced
2.TreeMap embodied
3.synchronized and of ReentrantLock
4. handwriting producer / consumer model
The logical addresses and physical addresses, logical addresses Why
6.volatile
7. The unordered , the array will not be repeated, the output of N elements, and such that the sum of the N elements is M, is given time complexity, the spatial complexity. Handwriting algorithm
8.Android process category
9. foreground switch to the background, then back to the front desk, Activity lifecycle callbacks. Pop-Dialog, the value of life cycle callback method.
10.Activity startup mode

5. Touch Lite-On Technology

Po touch technology is a Shanghai Internet companies, this is a chance for an interview by the monks resume delivery internships available, a total of two rounds of telephone interviews, finally got the offer. Po touch technology hr were very good, very strong sense of time, the entire process go more smoothly.

Touch one side of Symbol Technologies

The role of 1.RxJava, and asynchronous operation to use than the usual advantages of
principle 2.Android message mechanism
3.Binder mechanism introduced
4. Why can not update the UI in the child thread

Symbol Technologies touch two faces

1.JVM memory model
2.Android allocated in process memory, can not allocate quotas own memory
3. garbage collection and call System.gc () difference
4.Android event distribution mechanism
5. Implement the HTTP
6 ... RxJava the role of the advantages and disadvantages

6. iQIYI

IQIYI is delivered through the resume practice on access to the monk, had no hope, the results after 10 days about my interview. Surface about an hour, to talk pretty good, finally notice the next day I hung up, a bit overwhelmed, it may be mainly the practice time (can only console myself).

IQIYI side

1.RxJava function with the principles implemented
using 2.RecycleView, principles, RecycleView optimization
reasons of 3.ANR
4. The four components
5.Service open approach
6.Activity Service mode to communicate with
communication between 7.Activity
the realization 8.HashMap, and HashSet difference
9.JVM memory model, the memory area
keyword 10.Java in simultaneous use, the deadlock
11.MVP mode
12.Java design pattern, observer pattern
between 13.Activity and Fragment life cycle comparison of
14. the broadcast usage scenarios

7. Ctrip

Ctrip is the March vote in the push, the result hung up, then pass a written and obtained the opportunity to complete the written notice was received almost a month, had almost forgotten. Now notice, and went to the surface. After two technicals, one hr face, a second round is technical director faces, chatted main issues on the talk program. Finally got the offer.

Ctrip side

1.Activity startup mode
2. use broadcast scene
3.App wake up implementation of other processes
4.AndroidManifest role and understanding
5.List, the difference between Set, Map of
6.HashSet and HashMap how to determine a set of elements repeat
7 in .Java memory area and garbage collection

Ctrip two faces

1.EventBus action manner, implementations, instead of EventBus the
main steps in opening the camera 2.Android
3.Github upload what things, the code amount

Third, learning materials

From the perspective of Android development engineers is concerned, I have prepared the main contents of several of the following areas:

1.Java

Java-based, such as collection, reflection, annotations, IO, NIO, where the collection is very important, frequently asked interview.

The JVM, such as memory regions, the memory model, garbage collection algorithms, the collector, the class loading mechanism.

Java concurrency, such as sychronized, lock, volatile, producer / consumer model, the thread pool, deadlock.

2.Android

Android-based, such as the four major components, Binder mechanism, messaging, event distribution mechanism, custom View process.

Android open-source libraries, such as Retrofit, RxJava and other principles to achieve, advantages and disadvantages, as well as use.

3. Data structure

Linked lists, stacks, queues, ordering, trees, graphs, and wherein some of the algorithms involved topics.

4. Design Patterns

Single-mode embodiment, the observer pattern, the builder pattern, the factory mode, decorator mode.

5. Operating Systems

Processes and threads, interprocess communication, process scheduling, memory paging, segmented memory, virtual memory, and so on.

Here are some of the books I've seen.

Java

Crazy Java handouts (some people say bad he looked okay, you can see the core volume, others have recommended, I have not seen)

Thinking in Java (read the part, Mo Kanwan, it is recommended to look a certain basis)

In-depth understanding of the Java virtual machine (a good book, a must-see)

Head First Design Patterns (very vividly about the design patterns)

Java multi-threading technology becomes a core (some questions about Java multi-threaded, basis for comparison)

Effective Java (practical experience in the development of 78 will be used, very good, have not read)

Android

Android Heros (very basic, easy to understand)

Android developers artistic exploration (interviews necessary, content is easy to understand)

data structure

Lying data structure (about the concept of various data structures, algorithms is C, can be used as introductory books to see)

Wins the offer (interview necessary, interview a lot of time above the title)

operating system

Modern operating systems (requires patience to see, the book is also very thick, temporarily Mo Kanwan)

IV Summary

Finding a job is a very hard thing, and generally longer than the period, and sometimes that is a matter of personal technology, but also luck. First job, though the final result is not satisfactory, but the harvest than the offer big. The next step is for his own shortcomings and work hard up.

Year, I spent more than a month to sort out learning materials, hoping to help those who want to enhance the advanced Android development, but do not know how advanced learning friends. [ Including advanced UI, performance optimization, Architect courses, NDK, Kotlin, hybrid development (ReactNative + Weex), Flutter and other technical information architecture ], hoping to help review your pre-interview and find a good job, but also save in time they search for information online to learn.

Obtaining: Add Android architecture exchange QQ group chat: 513 088 520, into the group that is to receive the information! ! !

Click on the link to join a group chat Android mobile architecture [total population]: join a group chat

Sourcebook

Guess you like

Origin blog.csdn.net/weixin_43351655/article/details/91419356