Java interview and answering skills (1. How to interview correctly)

In the IT industry, it is difficult for most companies to recruit the right people in an efficient manner.
The problems that are directly exposed are:
・Spending a lot of money to recruit a person, but the actual combat effectiveness is not comparable to that of fresh graduates.
・A senior executive of a well-known company was recruited and some advanced technologies were introduced. As a result, problems in the originally stable production system occurred frequently, and most of the time was spent on improving the structure and management methods.
・In the interview, everyone is well-rounded, but the actual work ability is very different.

It is precisely because it is difficult for most companies to have effective recruitment methods, so there are rigid conditions such as education, work background, and current salary to screen candidates.
But it can only be said that based on these conditions, the right person can probably be recruited. Still can't solve some people infiltrating the company or even harming the company.

I divide programmers into two categories. Real programmers and fake programmers.
Software development is divided into application and R&D.
Take the application as an example:
a new framework, a new language, a business, a management method, if the learning of a certain technology achieves the purpose of application, the real programmer can take at most one month, and the fake programmer may not master it in half a year. Essence.

That is to say, the productivity of real programmers and the harmfulness of fake programmers are unimaginable.

Therefore, the entire interview process should revolve around distinguishing between real and fake programmers.
1. For the questions and conceptual questions that have been seen and unseen, it is easy to be exploited by fake programmers, so such questions should be avoided in the interview.
For example:
talk about your understanding of a popular framework.
What problems did you encounter in the production environment and how did you solve them?
Have you ever encountered a certain problem.
Have used a certain language.

2. Studying source code in order to study source code, this kind of person is harmful to the company.
You should avoid asking questions like:
What open source frameworks have you researched, and what source code have you seen.
Is there a blog and what is the address.

3. Avoid asking non-consecutive questions.
For example:
What is the difference between HashMap and HashTable.
Whether the servlet is thread safe.
How JavaScript implements object orientation.

Because if the above questions are prepared in a targeted manner, it does not take more than a week to answer them smoothly, and the fake programmers I am talking about will often pay attention to these unrelated things during working hours,
and even use company resources to test new Technology.

You must know that the technology is not new, it is enough. If you don't grasp the word "sufficient" in place, it must be working overtime day and night.

Therefore, you should ask some continuous questions about common technologies used by large and small systems, and ask a few more whys for these questions.
Because people who can answer [why] well, I think creativity and interest are good, and that's what the IT industry needs.

For example, expand the problem like this:
1. Talk about the process of adding, deleting, modifying and checking. (Don't laugh, most of the operations in the system revolve around this process, including high concurrency and big data. If you laugh, it means you are not good enough) A
good answer will describe the process from the browser to the database in the simplest language The whole process.
For those who have mastered high-level technical and interview skills but cannot tell a simple process of adding, deleting, modifying and checking, just filter them out.
Because most of the company's business is based on this line.

2. The problems encountered in the vertical expansion of the browser to the database line, the solution, and ask more why.
For example:
where is the connection to the database managed, and why should it be managed there.
Whether the Service object is a singleton or multiple and why.
In the case of a singleton, how to ensure that multiple requests do not share a transaction.
. . .
From database questions to browsers, a good answer will be clear.

3. The problems encountered in the horizontal expansion of the browser to the database line, the solutions, and ask more why.
For example:
what to do when multiple people update the same record, and how to deal with it in a cluster environment.
What to do when the amount of data increases to a certain extent, and how to deal with it in a cluster environment.
What to do when the number of requests increases to a certain level, and how to deal with it in a cluster environment.
. . .
From database questions to browsers, a good answer will be clear.

4. Examine problem-solving skills and experience (ask questions that all systems encounter).
For example:
how to locate the problem of memory overflow in the production environment, how to solve it, and how to avoid it.
How to locate a performance problem in a production environment, how to fix it, and how to avoid it.
. . .
A good answer will be clear.

5. Software engineering (must ask, this is related to the understanding of teamwork in work, no explanation)
The most direct way to examine software engineering is to develop a series of questions about how to control software quality and cost.
For example:
talk about how you think the quality of the software is controlled.
. . .
A good answer will point out the problems that have an impact on software quality at various stages of software engineering, and the solutions will be pointed to the point.

6. Business (must ask, this is related to work attitude and problem-solving ability) For
example:
talk about the business process of the system you are currently developing.
A good answer will be simple and clear.

7.
Not much to say about the basics, everyone will. Ask as many whys as possible, such as why use inheritance, why not use static methods, etc.

8. After answering all the above questions, you can basically give the interviewer a score.
0 points, 10 points, 20 points, 50 points, 70 points, 80 points, 100 points, etc.

Ineffective interviews can only give the interviewee a score of 0 or 100, that is, to tell the personnel whether it is OK or not, to what extent, where is the best, and where the worst is not able to provide clear information.
An effective interview can give the interviewee a score between 0 and 100 points, and have a comprehensive evaluation of the interviewee, where he is, advantages, disadvantages, suitable positions, risks, etc.

Although the above questions are all basic questions, fake programmers can be screened out and the level of real programmers can be roughly determined.
The remaining questions can be based on the needs of the company, asking some practical questions.

Copyright statement: The copyright of this tutorial belongs to java123.vip, and any form of reprinting and citation is prohibited.

The original post was published in: http://www.cnblogs.com/java123vip/p/9002247.html

Guess you like

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