[Recommended collection] Two years of Java interview experience, full of dry goods!

Foreword :

From the year before the new year, the idea of ​​quitting a job came up. In the new year, the company proposed to resign from the beginning of March to the official resignation on the 23rd. During work time, I also went to interview several companies. Later I always felt that I always had to ask for leave to find a job. Determined to find a job after leaving. On April 10th, I found an Internet company and successfully applied for the job. I also experienced many companies in the middle, including outsourcing, entrepreneurial, Internet, and so on. I also received a lot of offers, and some interviews were not smooth... Today, I will use a blog to record the questions in my interview, and talk about the topic of what level of java should have in two years to meet the requirements of the current market.

 

This blog directory:

1: Questions in the interview

Two: Questions to pay attention to in the interview

Three: About the final choice

Four: what level of java should have in two years

 

1: Questions in the interview

 

Java collection framework:

1: Introduce the collection framework of java

2: What happens when HashMap encounters a hash conflict? Is HashMap thread safe? What are the problems with HashMap under high concurrency? Then introduce the principle of ConcurrentHashMap?

3: The difference between Hahtable and concurrentHashMap?

4: The difference between array and ArrayList? How does Arraylist expand?

5: Which queue is generally selected for the blocking queue in the thread pool? why?

6: The principle of RetreenLock? The principle of AQS?

7: Why is the capacity of HashMap recommended to be a power of 2?

 

Frame class:

1: What's wrong with the secondary cache of mybatis?

2: What is the difference between #{} and ${} of mapper in mybaits? Which can prevent sql injection?

2: We know that there is no object between the mapper and interface of mybatis, so how is it mapped?

4: What are the annotations of springmvc? What is their principle?

5: Is the springmvc controller singleton? Is it thread-safe?

6: What is the difference between struts1 and struts2? Is it thread safe?

7: How does spring parse its xml file?

8: What is the core of spring? What is the principle of Aop?

 

Redis related:

1: What are the redis data types?

2: How are zset data types sorted?

3: How does redis serve as the intermediate caching layer of the project?

4: What is the time complexity of redis's Hash?

 

database:

1: What are the types of database indexes? What are the issues that should be paid attention to in composite index?

2: What is pessimistic lock and what is optimistic lock? How to achieve pessimistic lock?

3: What is the execution order of database keywords?

4: How to optimize SQL?

5: Have you ever performed sub-database sub-table operations? How to keep the transaction consistent after sub-database?

 

Distributed and microservices:

1: What problems should microservices overcome? How does the microservice system communicate?

2: How to solve the problem of session inconsistency in a distributed environment?

3: How to ensure that the id is consistent in distributed mode?

4: What problems did you encounter during the use of dubbo?

5: What are the load balancing algorithms of zookeeper?

 

jdk source code related

1: The principle of synchronized? How should it be used? How can one method be synchronized, can other non-synchronzied threads enter?

2: How to solve the ABA problem in cvs?

3: What is the principle of volatile? Is volatile necessarily thread-safe?

4: What is ThreadLocal? What is its principle?

5: Have you used CountDowanLatch? What kind of scene is suitable for use?

 

Design pattern related:

1: Implement two singleton modes

2: Talk about the observer mode

3: What design patterns are used in spring?

4: How is the dynamic proxy mode implemented?

5: Which design patterns have you used in the project? Explain the business scenario
 

Algorithm related:

1: The time complexity of quick sort? Handwritten quick sort (note the recursive and non-recursive implementation)

2: Handwritten binary search

3: Handwritten heap sort

4: How to separate odd and even numbers in an int array?

5: Use algorithm to realize String to double

 

jvm related :

1: What are the garbage collection algorithms of jvm? Explain separately?

2: Why should the new generation set up two survior areas?

3: How to get the jdk version of a .class file?

4: The memory model of jvm? Which ones are thread private? Which ones are public?

 

About your project (the longest time to ask)

1: Briefly describe your project? What do you mainly do in it?

2: What problems did you encounter in the project? How was it solved in the end?

3: How large is the project? How long is the cycle (this one is asked by many)

4: Tell me about the specific implementation of a certain module? Then pick from it

5: How to solve high concurrent requests at a certain moment?

6: How to solve the timeout problem of order payment callback? How should polling be written?

 

other:

1: How to cut the peak of the spike scene?

2: What is the difference between http and udp?

3: Cross-domain issues of ajax

4: The difference between nio and io? When to use nio

5: Talk about common linux commands, what are the commands for linux to view memory?

7: What should I do if git encounters a code conflict?

8: Speaking of several common maven commands, how does maven eliminate the conflict of a jar package?

 

Two: Questions to pay attention to in the interview


2.1: Must have your own actual project experience

According to me so much interview experience? In fact, some companies will focus on asking their own project experience, and some companies will focus on asking questions. Generally, Internet companies have higher technical requirements, requiring both project experience and technical level.

 

2.2: Can be rendered appropriately, but don't exaggerate

The most taboo thing in the interview process is to speak out. Gao Wujian is very powerful, but once the actual details are unclear, in front of the technical director, in fact, it is clear at a glance whether you are bragging or really meeting him. If you don’t know how to pretend to understand, some interviewers will give you a step down, otherwise you will be stuck, which will easily create a bad impression of the interview

2.3: Be able to introduce yourself

During the interview, you will generally be asked to introduce yourself. This should be divided into technical officers or Hr. If the technical officer focuses on reviewing the actual technology stack and technical route of his project, don’t use it if it’s Hr. More technical language, but to say some of your actual work experience or the operation of your previous company

2.4: About resume

Remember to not be too wordy, but not too simple. As a technical resume, it must be at least 3 pages, otherwise HR will think that your job search attitude is not very good. No matter how the job search results are, a good resume will leave you with good results. First impression

 

Three: About the final choice

To be honest, I have also accepted many HR offer invitations, but I generally choose to think about it for a day before replying. Don't just say it to death, otherwise it will be embarrassing. The offer actually offered was an outsourcing company, three startup companies, and two Internet companies. In the end, I chose an Internet company. Although the class was actually a bit far away (you had to take a bus when you got off the subway, and then I chose to ride a bicycle), but Internet companies will give you a fast growth rate, and Internet technology stacks are relatively new.. Compared with traditional enterprises, there will be more technical challenges. For an outsourcing company, the environment may not be very good. I remember that when I was a novice, I went to outsourcing. The advantage there is that there will be continuous work. If newcomers enter, they will still gain a lot, but there are already two things. With years of experience, outsourcing is obviously not suitable for my later career development. Disadvantages: The technology update iteration is too slow, and there is no sense of belonging. My personal opinion is to choose technology first. After all, the software road will be long in the future, and technology is the kingly way.

 

Four: what level of java should have in two years

 During the two-year java interview process, I encountered many challenges, and also encountered some companies that do not talk about technology. From the above interview questions, we can see that the current requirements for java are getting higher and higher. After all, the number of people in this industry is increasing. The more, and the only way to maintain your competitiveness is to find the right direction and keep learning. Note that the first point I mentioned here is the direction, and then the learning. Develop a career plan for myself and follow this route. Actually, I still want to learn more about distributed microservices in the future, but according to market requirements, it is urgent now. Some technical architectures such as springcloud and duboo have to be maintained. Study so as to be competitive! As a two-year javaSir, you must have the following skills

1: Ability to read source code, use Intelj idea as a development tool instead of eclipse. It directly supports decompilation of class files, read more jdk source code, absorb excellent source code and reuse it

2: To be able to write common sorting algorithms, such as quick sort and heap sort, bubble sort, selection sort, binary search, these are all necessary

3: Have a deep understanding of the Java framework. Many people know the basic popular ssm framework, but there are not many people who know some principles. You have to keep studying these frameworks themselves. They are all excellent after numerous tempers. frame

4: Use redis\mongodb more. Traditional relational databases are no longer in demand in the market. These things are also part of the interview. Although they are not the focus, they are also options for extra points.

5: For microservices and distributed, this is a certain degree of difficulty. When I was interviewing Renrenche, it went smoothly on the one hand, but was passed by the technical director on the other. The problem is that distributed is not very familiar! To enter a good Internet company, distributed and microservices are necessary

6: The bottom layer of jvm, the book to be recommended here is Zhou Zhiming's "Deep Jvm Virtual Machine" book, I always read it in my spare time, so the problem of jvm is still at my fingertips

 

Finally send benefits :

I will share with you a wave of materials. These materials are all Java e-books, study notes, latest learning routes, written test questions, interview questions, development tools, PDF document book tutorials, zero basic to proficient video courses compiled by me over the past few years. , Java job application resume templates, Java programmers face and other learning materials, free to share with everyone, all materials are in my Java technology exchange group: 127522921, there is no routine, please join the group to save yourself! I bought many of them with money. Welcome everyone to join the group, you can also discuss the technology, welcome to join!

 

Guess you like

Origin blog.csdn.net/deqing271/article/details/114586009