# Foreword ##### I think it is quite normal to have the idea of finding an offer from a big factory, which is not our after-dinner talk but the pursuit of every technical person. Such as Ali, Tencent, Meituan, Bytedance, JINGdong and so on, the technical atmosphere and technical standards are obviously better than some entrepreneurial companies/small companies. If I can practice in such companies for several years, I believe my ability will be greatly improved. Both school and social recruitment can not avoid all kinds of interviews, written tests, how to prepare for these things is particularly important. There are rules for both written tests and interviews.

Because companies generally have a professional team responsible for the interview, some knowledge you have mastered or simply memorize, the interviewer ask you can see (PS: especially to interview you truly feel ready to interview time is not enough, you can choose some more interview often ask questions, pay attention to understanding, must not rote). You can try to refer to a variety of interviews, know the general idea of the interview, and then to improve their comprehensive ability.

The saying “80% of offers are in 20% of hands” is not without reason. It is true that your ability plays a large part in determining whether you can succeed in the interview, but if your mood or luck is bad, you still cannot get a satisfactory offer. Luck aside, take the mentality, do not be discouraged or doubt your ability because of the failure of the interview, after the failure of the interview to sum up the reasons for the failure, you will find that you will be more and more powerful.

What kind of people do big factories really want from their actual recruitment requirements?

First of all, let’s be clear: a 985/211 degree will give you a lot of points.

In addition, it is important not to take the fact that your school is not a school every day as the reason why you can not enter the factory. As long as your ability is enough, the door of the big factory will open for you. There are also a lot of double non-school or even three students have received offers from such big companies as Ali, Tencent. Wechat search web_resource for more quality articles

##### From the recruitment websites of ali, Tencent and other large companies for Java back-end direction/back-end direction requirements, we can probably summarize the ability requirements of large companies for recruiters.

##### Take Alibaba as an example to see the actual requirements of big factories

When interviewing Java engineers, here are a few things to improve your credentials:

1. Familiar with the bottom layer of open source framework and read source code; 2. Experience in large database system; Familiar with distributed, cache, message middleware; 4. Good expression and communication skills, good at learning, focus on frontier. “Make sure you have something you’re good at, whether it’s technical or something else.” I think this sentence is really very reasonable, you can think about it carefully. Here’s another point: you don’t need to be able to do everything, but you do need to be able to excel in one area. In other words, we don’t need to master every technology (you don’t have the energy to master so many), but we need to study one technology in depth, and we can learn a little bit about the others.

##### I think a deep understanding of a particular technology is more helpful to your personal competitiveness than if you dabble in each one.

How to get a big factory interview?

Before we talk about how to get an interview, let’s compare two very common concepts — spring recruitment and autumn recruitment.

Recruitment: autumn recruitment more than spring recruitment;

Recruitment time: Autumn recruitment usually starts around July and lasts until the end of October. However, big factories (such as BAT) will start early and finish early, so we must grasp the time. The best time for spring recruitment is March, the second best time is April, and there are almost no spring recruitment in May.

Recruitment difficulty: autumn recruitment is slightly more difficult than spring recruitment;

Recruitment companies: the number of autumn recruitment, and the number of spring recruitment is less, generally autumn recruitment supplement.

##### To sum up, generally speaking, the gold content of autumn recruit is obviously higher than spring recruit.

Here are a few that I know of, but I think that covers most of the ways to get an interview.

##### pay attention to the official website of dachang and submit your resume at any time (the online application process);

Find senior brothers senior sisters or know the former company of technical cattle, help push (can let you avoid network application resume screening, written test screening, or very good, but also need your resume is good enough);

Job websites post resumes (not recommended).

In addition to these methods, I had that experience: some big company of some departments may temporarily didn’t recruit enough for people, and if your relatives or friends in this company, and you just looking for offer, so the interview was basically had, and the difficulty of this interview as generally is generally much lower than other formal interview.

##### want to get a satisfactory offer, the premise is that they should have excellent strength as capital, the following on how to improve personal hard strength to give you some suggestions!

How to improve personal hard power and large factory Java backend interview mainly ask what? * * * *?

What I mean by personal hard power here is more about professional skills, such as the ability to build a high quality website or the mastery of professional knowledge.

I think the most important thing for beginners or old hands to improve their personal hard power is to keep studying and put the theory into practice. It is better to put the theory into practice in specific projects.

##### If you want to improve your hard power, the way to learn a new skill must be crucial. Here are some tips for learning a new skill (illustrated here for ease of reading) :

Must have own technical advantage, the likelihood you know is not the most, but others will not you will however, so you are fierce! But how to prepare for a big company interview? I think one of the most important things is to find out what big companies are asking in an interview. Below I will break down each knowledge point, to give you a brief introduction to the main factory interview will ask what? The first thing you need to make sure is that the interviewer is asking for something that is closely related to what you have written on your resume.

Large factory interview generally includes the following knowledge types:

#####Java basics, multithreading, IO and NIO, virtual machines, design patterns

In the section on multithreading, the interviewer will probably ask you if you have any experience actually using multithreading in a project. So, if you have experience with Java multithreading in your projects, you will be rewarded!

Design patterns are often asked to write a singleton (note the different implementations of the singleton) or to describe how a common design pattern has been used in your project. In addition, the interviewer may ask you “abstract factory” and “factory method model difference”, “factory model” idea and so on.

It is recommended to take a good look at the proxy pattern, observer pattern, and (abstract) factory pattern, which are useful design patterns.

##### Data structures and algorithms (handwritten algorithm ability is required)

Data structure is more often asked is: binary tree, red black tree (is likely to let you hand draw a red black tree out of oh! , balancing binary search tree (BST), B – tree, B + tree and B * tree advantages and disadvantages comparison, LSM tree these knowledge points. Data structures are important and relatively difficult to learn. It is recommended to learn data structures step by step, step by step. Be sure to understand the principle, it is best to use code to implement it.

Computer networking (TCP three-way handshake and four-way wave)

Data communication (RESTful, RPC, message queue)

If your resume shows that you know how to use an RPC framework (e.g., Alibaba’s open source Dubbo) or message queues (e.g., RabbitMQ, Kafka), the interviewer will likely ask you a technical question that is relevant to the project.

Performance optimization and operating system (common optimization methods, Linux basic commands and use)

Mainstream framework (Spring underlying principle and source code to ask a lot of)

Spring is inevitable. If your resume indicates that you know Spring Boot or Spring Cloud, the interviewer may ask you about both technologies. For example, he may ask you about the difference between Spring and Spring. Wechat search web_resource for more quality articles. So be very careful about what you put on your resume and be very familiar with what you put on your resume.

In addition, AOP implementation principles, dynamic and static proxies, the Spring IOC initialization process, IOC principles, how to implement an IOC container yourself? These are things that are often asked.

##### Data store (most commonly MySQL, Redis)

##### Distributed (distributed locks, transactions, etc.)

What other questions are there besides these things:

##### Actual scenario

Practical scenarios test your ability to use knowledge and think. It is recommended to develop the habit of thinking more about questions at ordinary times, so that you will not panic when you encounter such questions in the interview. In addition, if you really don’t give the interviewer a euphemism, the interviewer may give you a reminder. Avoid don’t understand pretend to understand, disorderly answer a gas.

The interviewer may ask you questions like:

1. If you want to make a banking app, it is possible that more than one person will transfer money to one account at the same time. What are the possible problems and how to solve them (lock)? 2. How do you ensure the quality and correctness of your code? 3. In the process of placing an order to reduce inventory or payment to reduce inventory, analyze the advantages and disadvantages of the two. 4. How to design a concurrent scheme that can ensure that all the salaries of 100,000 people can be sent within 1 minute? 5. If you were asked to design XXX system, how would you design it?

life

1. When it comes to the final interview, the interviewer will basically just have a chat with you. He may ask you questions like: 2. What do your parents do? 4. What are your hobbies

Personality/Others

It mainly depends on whether your personality and values are suitable for their company. For example, he will ask you questions like:

1. How do I deal with stressful situations? 2. What should I do if I don’t like a member of the project team? What are your weaknesses/strengths

Conclusion emphasis

Be very careful about what you put on your resume. Be very familiar with what you put on your resume. Because most of the time, the interviewer will ask based on your resume; It’s also important to have a project that’s on the table, and this is likely to be the place where the interviewer will ask a lot of questions, so take a good look at the projects you’ve worked on before the interview; Talk to the interviewer about basic knowledge such as the use of design patterns, multi-threading, etc., based on specific project scenarios or how you use them in daily life. It is recommended to find out the values of the company and determine if you are a good fit.

PDF covers JVM, locking, high concurrency, reflection, Spring principles, microservices, Zookeeper, databases, data structures, and more. Free collection: Shimo.im /docs/g8xqjC…