Introduction:

This article is a fan friend some time ago the real face experience, the face is the mushroom street, it happens that the interviewer is Ao Bing, now Ao Bing has gone to Tencent to take office

Background:

Work experience: 5 years of Java development

Education Background: Chongqing University of Posts and Telecommunications (Information Security major)

Work experience: Mainly engaged in mobile payment wallet business in Cambodia (aggregation payment project, enabling local Chinese in Cambodia to use wechat and Alipay to pay)

Note:The following content is true to share, you can read carefully to see if you can answer these interview questions to the satisfaction of the interviewer, at the same time I will also share some interview tips to everyone, mainly to tell youHow to prepare a resume, how to prepare for an interview, 2020 big factory interview real questions to share (including the answer), which learning materials worth reading.

Without further words, let’s follow the interview experience of this fan friend to see his interview journey. In addition, the interview questions and review materials involved in the following are shared in a complete PDF version, attention + forward after the private letter I “interview” can be ~

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p1-tt.byteimg.com/origin/pgc-image/108f78677a9742f584db3094dbbaf530?from=pc)

** Interviewer: ** Please introduce yourself

** Programmer: ** Hello, I graduated from XXX and have been working for 5 years. My recent work is mainly responsible for XXX (see above background introduction)

** Interviewer: ** As you write that you are familiar with the advanced features of the Java language, let’s briefly introduce the injection process of Bean SpringBean

** programmer: **Bean injection process…… The first is to add it to the object….. from the configuration file (annotations) B: Well, I’m still not familiar with it

** Interviewer: ** nothing nothing…. Let’s move on

** Programmer: ** embarrassed smile

** interviewer: ** I see that you write that you know some advanced features. Can you give me a brief overview of the new features of Java8, or what new features you are good at?

** Programmers: **Java8 is primarily a lambda expression synthetically, and it can do that functional programming with a functional interface, which means it has only one method…..

** Interviewer: ** Anything else?

** Programmers: ** There are also some Stream operations, such as the Stream API, which can simplify programming semantics and make it clearer. For example, in making a filter function, you can bind data to filter out data that does not meet requirements. Just before writing a for loop, it seems not so easy to understand…. Then some optimizations were made to the data structure, such as ConcurrentHashMap, whose underlying implementation was changed to a red-black tree…..

** Interviewer: ** You just mentioned some improvements, I asked about some new advanced features

** Programmer: ** again embarrassed a smile…..

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/e8fa6cc91bdf456baaa35c2543fff9e1?from=pc)

** Interviewer: ** You mentioned streaming. Is it optimized for efficiency compared to things like foreach or basic for loops, or is it slower? Have you checked it out?

** Programmer: ** err… There is no

** Interviewer: ** I see you have some knowledge of concurrent programming, can you tell me the basic implementation principle of Synchronized and Lock?

** Programmer: ** ah…. Synchronized is a semantic level of support, it is in an object header, it has a Mark Word Mark to record its Lock, Lock shows that the Lock is made use of it, the underlying is an AQS, it is a bidirectional linked list of first-in, first-out queue, it only the current thread holding the Lock is an opponent, And then when it’s released, it takes a spin operation and lets the next thread be the head of the queue

** Interviewer: ** What level are they, JDK level, JVM level, or?

** Programmers: Synchronized is JVM level, Lock is JDK level

Interviewer: ** You talked about Synchronized. Have you read about the methods, objects, and blocks used to implement Synchronized?

** Programmers: ** um….. There is no

Interviewer: ** Do you know anything about the Synchronized upgrade process?

** Programmers: ** No….

** Interviewer: ** just mentioned Lock, CAS, can you give me a brief introduction?

** Programmers: **CAS is just compare and swap

** Interviewer: ** Um, that’s enough to mention, but do you have any practical applications in the actual development process? A process applied to optimistic locking

** Programmer: ** Yes, for example, when I update a database, if a database is using optimistic lock, I also use a spin operation, it will update until successful

** Interviewer: Will ** spin be inefficient? If you can’t get the lock all the time, it may cause some threads to block, or other things will affect a lot of efficiency in high concurrency scenarios. Have you considered this problem?

** Programmers: ** also considered….. Pessimistic locking is better if it’s really not a good time to use spin when concurrency is high

** Interviewer: ** Tell me about thread pools

** Programmers: ** Thread pool is….. I’m going to tell you a little bit about how it works, and then it’s submit first, so it goes into the core and eats, and if the thread book is bigger than coreSize, it goes into a blocking queue, and when the blocking queue is full, it creates some new threads, it goes into the largest pool; When the number of threads exceeds maxSize, the JDK implements a rejection policy. There are four types of rejection policies in the JDK. One is throwing exceptions; One is executed by the caller’s thread; One is to discard the thread that has waited the longest in the blocking queue

** Interviewer: ** I see on your resume that you have a solid knowledge of JVM tuning. Can I ask if you understand some of the basic steps of tuning it?

** Programmer: ** ah…. An old blood, the basic steps of tuning…. For example, I learned from… Well.. Let me start with OOM…. If an OOM exception occurs in production, the first step is to determine whether it occurred in the heap or in the meta space, and…… Another type of GC is inefficient….. Right! Right

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p6-tt.byteimg.com/origin/pgc-image/17ab6b50fbb44691baeb6237ec1e4f0d?from=pc)

Note: Due to too much content, to avoid affecting the reading experience, I will not code the following interview, all screenshots instead!

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/47108d9efc584032911b1b6498813291?from=pc)
! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p1-tt.byteimg.com/origin/pgc-image/6f8b0ec9abbe46f4b2fb8801d49890e9?from=pc)
! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/535c8901d5444c7ab434747dbe621336?from=pc)
! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/9369192134e044e3b6539d2071cf34a1?from=pc)

** Interviewer: ** I see that you almost always leave after one year. Can you tell me why you left?

Programmer:………

** Interviewer: ** What do you think of your career plan?

** Programmers: ** to the Internet finance industry

** Interviewer: ** What do you want to ask me?

** Programmer: ** asked some questions I didn’t understand before

** Interview summary: ** From the interview, it can be seen that the interviewer did not ask in-depth questions, or he might not be able to answer 80% of the content. Basically, he did not ask much about the basic content. He wrote a Dubbo on his resume, but the interviewer did not ask him about Spring Cloud, Hystrix container, etc. Even bus can ask a bunch of things, once asked really only embarrassed, asked doubt life.

How to Prepare for an interview

First of all, like this friend, you can go to some small companies resume, go to the interview illiteracy, see what things are not, what knowledge is missing, and then go home to do the interview review.

Tailor your resume so that you don’t write a Dubbo and then the interviewer asks you a little deeper and you can’t answer. Here are three things to note on your resume:

(1) Pay attention to distinguish: understand, familiar with, proficient, do not write, many questions are based on the resume description of the interviewer;

(2) Professional knowledge and project experience in the essence is not much, especially the project experience must be familiar with and have content to say, do not think that the more written the better;

(3) to be familiar with their own resume content, accurate grasp, it is best to read their own resume.

Secondly, you can also be prepared in the early stage, to brush the interview questions, watch some learning materials or video tutorials and so on, here I also share some of the learning materials I have collected and sorted out and the real interview questions to share with you, [forward + concern], private letter “interview” can ~

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p6-tt.byteimg.com/origin/pgc-image/05c04ea409e5494e80c9830449c2a868?from=pc)

Java core content collation

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p6-tt.byteimg.com/origin/pgc-image/17c90a3e391c4935a8a3b11da99d2392?from=pc)

The interview questions are sorted out

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p6-tt.byteimg.com/origin/pgc-image/259a3281f2164dd78afe4a45a81c83dc?from=pc)

advice

You can summarize and extend the knowledge of Java foundation, JVM, concurrent programming, MySQL, Redis, Spring, Spring Cloud and so on, and then operate. Otherwise, you can’t learn by simply remembering. Here I also provide some brain diagrams to share with you:

! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/52c19b510d64485c86d34e5d8ef5299f?from=pc)
! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p3-tt.byteimg.com/origin/pgc-image/9fb618ec275741b3b7fbbcbb3863b6ac?from=pc)
! [Interviewer: Asking for 25 k, I’ll use the 2 successful force, asked your doubt life (Java)] (https://p1-tt.byteimg.com/origin/pgc-image/a4add32e959d4480a60e079a828f4c35?from=pc)

The last

No matter which company, attach great importance to the foundation, large factory attaches more importance to the depth and breadth of technology, interview is a two-way selection process, do not hold a fear of the state of mind to interview, is not conducive to their own play. It’s not just the salary you’re looking for, it’s whether you really like the company and whether you’re getting a real workout.

In view of the above interview techniques, I also do some information to share here, hoping to better help you. [forward + follow], the private letter “interview” can be ~

Hope everyone can get satisfactory offer in jin Jiu Yin ten!