After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

I just graduated in 2015 and entered a small company as an intern. Having studied software development in school for three years, I still want to find a job in the Internet industry, so that I can apply what I have learned and give full play to my strengths. Until March of 2018, I quit my existing job, went north for an interview, and successfully got the offer. After the interview, many people asked me, why did you get the offer from Ali, you just graduated Xiaobai who has worked for two years. At that time, I just smiled at them and replied in a humble tone: Good luck, good luck! But in fact, it is not as simple as luck. If you have no strength and no confidence, do you dare to go to Ali for an interview? I think everyone's unanimous answer is the same, "don't dare to go"! Then why do I only have two years of experience in Xiaobai meeting Ali? Actually, I have a trump card.

Now, let's talk about some of the interview experiences I have encountered, and I hope to give you a reference for those who are looking for new opportunities. After a total of 5 interviews and 4 offers, it should be considered a success.

For various reasons, the companies involved in the blog post are marked by code names, and all I can tell you is the interview questions.

interview questions

Company A

  1. Write out how to use synchronized in java.

  2. What are the parameters to set max heap and min heap memory in Java?

  3. The role of volatile?

  4. a design question

  5. Multiple threads read and write at the same time, and the number of read threads is much larger than that of write threads. How do you think the concurrency problem should be solved? What kind of lock would you choose to add?

  6. Does JAVA's AQS understand that it is dry?

  7. Besides the synchronized keyword, how do you ensure thread safety?

  8. When do you need to add the volatile keyword? Does it guarantee thread safety?

Company B

Question 1: "Please introduce yourself"

Question 2: "What hobbies do you have?"

Question 3: "What aspects of your job do you think are the most important?"

Question 4: "Talk about your weaknesses"

Question 5: "Tell me about one of your failures"

Question 6: "Why did you choose our company?"

Question 7: "What foreseeable difficulties do you have with this job?"

Question 8: "Why are we hiring you?"

Question 10: "What was the reason for your departure from the previous company?"

Company C

  1. How does mybatis prevent SQL injection

  2. Hibernate's caching mechanism

  3. Hibernate first level cache

  4. Hibernate second level cache

  5. What kind of data is suitable for storing in the second level cache

  6. The difference between Mybatis and Hibernate (pros and cons)

  7. Redis usage scenarios

  8. How do you usually adjust the parameters of Tomcat itself?

  9. If you have a lot of data to insert into MYSQL, what method would you choose?

Company D

1. Which GC strategies do you know or do you use online? What advantages does it have and what scenarios does it apply to?

2. How many types of JAVA class loaders are there? What is the relationship between their parents? What does parental delegation mean? what is the benefit?

3. How to customize a class loader? Which ones have you used or where do you need a custom classloader?

4. What are the parameters of the heap memory setting? 5. What data is stored in Perm Space? Will it cause OutOfMemory? 6. When doing gc, what is the order in which an object is moved in each Space in memory?

7. Have you ever encountered OutOfMemory issues? How did you approach this problem? What are the benefits of processing?

8. What changes have been made to Perm Space after 1.8? Is the size of MetaSpace unlimited by default? Or how do you specify the size?

9. What is Jstack? What about Jstat? If the online program periodically freezes, you suspect that it may be caused by gc. How would you troubleshoot this problem? What part of the thread log do you generally look at?

10. Have you encountered StackOverFlow exception? Generally you guess under what circumstances will it be triggered? How to specify the stack size of a thread? How much do you usually write?

Company E

● Briefly describe synchronized?Object; Monitor mechanism;

● Briefly describe the happen-before rule;

● JUC and Object; What is the difference between Monitor mechanism; Briefly describe the principle of AQS;

● Briefly describe the reasons for DCL failure and the solutions;

● Briefly describe the principle of nio;

● What are the components of the jvm runtime data area, and their respective functions;

● What are the gc algorithms; what are the gc collectors;

● Briefly describe the process of each stage of class loading; class; what models does the loader have;

● Briefly describe the commonly used JDK command line tools;

● Briefly describe the composition of bytecode files;

● Talk about how you usually optimize for specific SQL;

● What are the storage engines of mysql, and the differences;

● gc: memory model;

● gc: garbage collection;

● Multithreading: How to implement a tool class for timing scheduling and circular scheduling. However, when the submitted task cannot be processed, how should the rejection mechanism be handled? What kinds of rejection mechanisms are there by default in the thread pool?

● Multithreading: How to implement a ThreadLocal;

● Talk about a thread-safe queue you know about;

● What is the implementation principle of the Atomic package;

● How does CAS ensure atomicity;

● How much memory is used by subString for string analysis 1000 loops;

It was the most difficult time for me to interview for Formula E. I asked a lot of questions, and he would ask whatever he thought of anyway. Since there are too many questions, I can only list them out from memory, hoping to be considerate.

Five skills to impress interviewers

1. Quantitative Analysis

Quantitative analysis is the analysis of the quantitative characteristics, quantitative relationships and quantitative changes of social phenomena. Data is an essential part of many organizations, so your ability to organize, analyze, interpret, and present data is important. Whether it's making an app or looking for different ways to attract users. In particular, recruiting companies place great importance on organizing data and the ability to organize based on data. If you have the ability to mine data and have your own insights, you will have an advantage over the competition. (When interviewing, you can bring your previous projects on data analysis).

2. Excel

What are the most important tools in managing data analysis? Excel. Excel is a common occurrence at work, and companies don't take the time to teach you how to use Excel. Therefore, if you are proficient in Excel, you will also have a certain advantage in admissions.

3. Creative thinking

In today's fast-paced business world, recruiters are interested in candidates who can innovate and outperform the status quo. They want their employees to think outside the box, not comfortable with the status quo, to be able to share their ideas with other employees from the first day on the job, and ideally to improve the company's current work system. However, creative thinking is a bit hard to learn.

4. Communication skills

Under normal circumstances, recruiting companies are looking for some employees with strong communication skills. Because the company needs you to effectively communicate with customers by phone, email and daily life, your words and deeds will represent the image of the company. More importantly, the company expects you to express some of your views in concise and professional language. So, during the interview process, show your communication skills to the recruiter.

5. Humble character

Humility may seem odd to some, but it's one of the most important skills recruiters look for. Of course, hiring companies need employees who are confident, passionate, and willing to learn. During an interview, if you are asked to share your thoughts or ideas, speak up. If a mistake is pointed out, accept it humbly. Ask the interviewer more questions, such as some of the company's situation and some of the jobs you are applying for.

Why are four of the five companies I interviewed accepted? The above five skills must not only be possessed, but also excellent in technology, otherwise you will not want to pass the above interviews. So where do you learn to acquire strong skills and strong courage? The following is that I have learned this course system, and it is that I have such a strong technology and strong courage.

Recommend an exchange learning group: 685167672 It will share some videos recorded by senior architects: Spring, MyBatis, Netty source code analysis, principles of high concurrency, high performance, distributed, microservice architecture, JVM performance optimization, these become architects Necessary body of knowledge. You can also receive free learning resources, which have benefited a lot at present. The following course system diagram is also obtained in the group.

Recommended course system:

1. Source code analysis

After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

2. Distributed Architecture

After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

3. Microservices

After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

Fourth, performance optimization

After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

Five, Java engineering

After 2 and a half years of work, I switched jobs to interview Ali, and successfully got the offer. Why?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325336927&siteId=291194637