Some time ago, one of my friends went out for an interview again. This time, he had a clear target for the interview, which was all the departments with large business volume and core business. I went to a lot of companies, several big factories, and he said what impressed him most was byte.
After three rounds of technical and one round of HR, he finally got an Offer of 35K *15 salary.
It focuses on the mastery of application technology and underlying principles, as well as the business understanding of past projects. He was impressed because each round lasted more than an hour and a half, which really benefited him a lot.
One side
1. Algorithmic problem: Two stacks implement queues
2. Algorithm: Input an array, think of a way to make the array as out of order as possible, to ensure that the function can be realized under the circumstances of time complexity and space complexity as small as possible, can use random number function. (The interviewer finally said O(n) time complexity can be achieved)
3. Write a singleton (just write your own)
4.ActivityA -> Activity B -> Activity A
Activity A starts in singleTask mode
Activity B Starts in normal mode
A starts B, B starts A life cycle call order?
5. Say when onSaveInstancestate () is called and what it does.
6. What is the name of the argument saved by onSaveInstancEstate ()? What’s in the Bundle? How do you serialize? What is the difference between Parcelable and Serializable?
7. The difference between arrays and linked lists
8. Structure and principle of HashMap
9. Can you talk a little bit about retrofit and what it does, if you know the basic framework
10. Do you know the drawing mechanism of View
11. Fragment A starts Fragment B, and press the return key to exit Fragment B.
12. Why can handler switch threads
13. What is the function of the Rxjava map keyword
14. How to get a view of the wide high, how to determine the value is accurate, said the post () added viewTreeObserverOnGlobalLayoutListener
15. Do you have any questions?
Second interview
1. Algorithm: Find the longest length of a string without repeated characters
2. The difference between string StringBuffer and StringBuilder
3. Final finally Finalize difference
4. The difference between arrays and linked lists
5.HashMap
6.Tcp three times handshake four times wave
7. Differences between GET and POST
8. The role of synchronized
9. You know design patterns
10.Android process communication method
11. Can you describe how an Intent communicates
12. What are the types of memory leaks? How to check memory leaks
13. Do you have any questions
On three sides
1. Project digging
2.ARouter routing principle
3. How do I manage excessive routing tables?
4. How to optimize the network request when watching videos?
5. What are the improvements to HTTP3.0?
6. What is the reason why the App is stuck when the user uses it?
The follow-up is the HR surface, which is omitted here, these big factories will not have much difference.
My friend chose Byte not only because it was the core project, but also because Byte offered the best benefits in the industry and the highest salary of any company in its category.
“High salary, good development and good welfare” seems to have become byteDance’s label.
And many people think dachang has a high threshold:
“Slag this double non education can not enter the big factory!”
“If you work for less than three years, you can’t enter a big factory!”
“Those who do not graduate from a professional class cannot enter a big factory!”
But for me this slag this double non graduate friend, into bytes, it seems that it is not so difficult. In his words, into the factory depends on one: technical strength.
You just need good technical skills and a good performance in the interview to get an Offer.
The following is his review materials he shared with me, and I share them with you here. Finally, I hope you can avoid the pits as much as possible and get the ideal offer.
Advanced UI
The UI piece of knowledge is the most widely used today. That year the popular Android training, learn this small piece of knowledge can casually find a good job.
But obviously now is far from enough, refused to endless CV, personally to project combat, read the source code, research principle!
“Framework Refined Kernel Analysis”
The main contents include:
- In-depth analysis of Binder
- Parsing Handler in depth
- Dalvik VM process system
- Parse WMS in depth
- PackagerManagerService
“360° All-round Performance Tuning”
The content mainly includes the following points:
1. Design ideas and code quality optimization
2. Program performance optimization
- Optimization of startup speed and execution efficiency
- Layout detection and optimization
- Memory optimization
- Optimize the power consumption
- Network transmission and data storage optimization
- APK size optimization
3. Optimization of development efficiency
- Git, a distributed version control system
- Automated build system Gradle
4. Actual project combat
- startup
- fluency
- The practice of Douyin in APK packet size resource optimization
- Youku responsive layout technology full analysis
- Network optimization
- Mobile Taobao Double 11 performance optimization project revealed
- Autonavi APP full link source code dependency analysis
- Complete the OOM experience sharing
- Wechat Android terminal memory optimization practice
Android Third-party Frameworks
Content of this article (1042 pages)
- Thermal repair design
- pluggable
- Component frame design
- Image loading frame
- Network Request Framework
- RXJava responsive programming framework design
- IOC Architecture Design
- Android architecture component Jetpack
NDK Module Development
The NDK is a native development kit that allows Android to use C/C++ code and provides numerous platform libraries.
The main contents include:
- NDK module development
- JNI module
- Native development tools
- Linux programming
- Underlying image processing
- Audio and Video development
- Machine learning
Jetpack Architectural Components from Beginner to Master
- Android Jetpack – Navigation
- Android Jetpack – Data Binding
- Android Jetpack – ViewModel & LiveData
- Android Jetpack – Room
- Android Jetpack – Paging
- Android Jetpack – WorkManger
- Lifecycle for Android Jetpack architecture components
- Jetpack Compose for Android
Advancements in Flutter Technology
- Overview of Flutter cross-platform development
- Build Flutter development environment in Windows
- Write your first Flutter APP
- Introduction to the Flutter Dart language System
2020 Big Factory Interview
One, picture two, network and security mechanism three, database four, plug-in, modular, component, hot repair, incremental update, Gradle five, architecture design and design mode six, performance optimization seven, Android Framework eight, Android excellent tripartite library source code