Is it difficult for java programmers to change jobs? Mastering the five core elements of an interview, it ’s not difficult to switch to Ali

The epidemic situation has improved a lot now. I believe that many friends have resumed work, but there are also many people who are facing unemployment or want to change jobs. No matter what the situation is, Jin San has passed and Yin Si has passed half. What are your preparations for? Welcome to this job search season?

If you plan to change jobs now, as a Java engineer, how should you use one month to quickly prepare for the upcoming recruitment interview?

From the interviewer's perspective:

It gave everyone an in-depth analysis of how the Internet companies usually survey a candidate in many ways.
In summary, when interviewing candidates, the interviewer mainly conducts from multiple angles of technical breadth, technical depth, basic skills, system design, and project experience.

So in this article, we will mainly talk about many points of the survey for each large piece of content. What is more critical is how to quickly prepare for those points of investigation.

1. Technical breadth

The breadth of technology, to put it bluntly, when you as a qualified engineer develop and design a system and carry out certain practical technical tasks, you must adopt many technologies, and you must be proficient in those technologies. Very common, various types of different systems or some technical frameworks / technical solutions involved.

for example:

One of the more critical systems of an Internet enterprise, first and foremost will adopt a distributed service framework

For example: dubbo / spring cloud, so that the system can be split into a distributed architecture. In other words, the popular way of speaking is the micro-service architecture, such that a person is responsible for a service and is a subsystem.

Immediately afterwards, this system is likely to use other technologies in order to support certain unique technical scenarios.

For example, in order to solve the high concurrency of reading, Redis cache technology will be used, because RocketMQ technology will be used to make system asynchronous calls, so as to support high-performance search of large data volume, Elasticsearch technology will be used, etc.

So if this Internet company is recruiting Java engineers, what are his job requirements?

Will it be necessary to stipulate that candidates must have specific production project work experience in at least several technical fields such as dubbo, Redis, RocketMQ, Elasticsearch, etc.

And also understand these various technical features and the technical architecture / schemes commonly used when landing projects, so that after recruiting this person, they can start working immediately.

One candidate is required to have specific project experience on various commonly used technologies and related architectures and sufficient knowledge of the technology itself. This is also referred to as the breadth of technology. From the perspective of recruiting candidates for in-depth analysis, Presumably everyone understands this "technical breadth" survey item.

In fact, the technical breadth is all about technical breadth, so obviously it is not just the one mentioned above.

In fact, a qualified engineer suitable for Internet companies must be proficient in many other things in terms of technical breadth.
Such as distributed transactions, microservice architecture, distributed locks, performance optimization, Java virtual machine optimization, Web Server optimization, database optimization, etc.

The more large-scale Internet companies, the more they will focus on the breadth of technology, the more extensive the investigation may be, and the higher the standard.

2. Quick preparation of technical breadth

So now that you have mastered what this technical breadth means, how should you quickly practice and plan in the short term to deal with this technical breadth?

This issue is divided into two specific situations.

If you are also a weekday, you are very hard-working and hard-working, people who have been studying continuously for the past two years, so congratulations, this one hundred percent ca n’t help you

Because you have been studying continuously for the past two years, you may have already explored some of the points of the technical breadth yourself, and it will inevitably be a little bit of experience.

For what you have learned or practiced, you obviously have recorded many excerpts.

Your best preparation method is to quickly summarize your own summary, recall the core principles and project practices of various common technologies in a quick way according to the summary review, and form a knowledge network in your brain.

If an engineer who does not work so hard, or a young man who has only worked for a year or two and has not been involved in the world, still has so much accumulation, what should he do then?

That's not impossible, remember an old saying: Temporarily hold the Buddha's feet, unhappy and light. Although you have nothing to accumulate, but you have to interview, how can you have a surprise attack?

The following is also a way to teach you:

You need to enumerate all the points that the technical breadth will involve, and then search the Internet for some common interview questions for each technical point, or some basic core content principles.

Through the various technical points of Baidu, and then quickly understand a technical way from various technical blogs, you can quickly establish some basic knowledge and core principles of the various points involved in the technical breadth, so that during the interview Avoid asking one question and three not knowing.

Of course, everyone also knows that technology ca n’t be done quickly. You use the second method to attack, and you have accumulated a few years of accumulation in the first case. Finally, when you land on the interview, the performance is very different. It also directly determines that different people will enter different levels of the company.

The students in the second case may ask a question during the interview , and they can only say a minute or two, but the students in the first case, their skills are usually in peacetime, as long as the review is in place, it is often possible to ask a question during the interview By analogy, I can tell you more than ten minutes at once.

This is the difference.

However, even if you only talk for a minute or two, it ’s better than asking one question and three not knowing, and squinting with the interviewer, right?

Finally, I want to emphasize to you that there is no shortcut to success. As an excellent technical engineer, the most important thing is to study and accumulate 365 days a year, and to persist for many years.

After suffering hardships, people are the best. When I accumulated technology in the early years, I also came here in the same way. I study every night until one or two in the morning, and study all day on Saturday and Sunday, and have persisted for many years.

Only after a few years of accumulation will you be able to accumulate thin hair, change quantitatively into qualitatively, and rookie into big cow.

3. Technical depth

What does technical depth mean? To put it simply, if you have the technical breadth mentioned in the first item above, it does not mean how good you are. It can only be said that the most basic requirements of the interview are met. After the recruitment, you can start working immediately, no Too much training cost.

It is your technical depth that determines how high your future technology will be, and whether you can become the backbone of the team .

Technical depth, as the name suggests, means the depth of your mastery of a technology, to give you the simplest example.

If the technology of kafka is used in a system of your company, then now the problem is coming. In the online production environment, whenever the peak comes, I do n’t know why writing kafka will occasionally throw an exception, or say I do n’t know why the data written to kafka will be less every day.

When the online production environment encounters such strange and strange problems, it is often when the technical bulls in the team play.

The technical tycoon must be someone who has some in-depth research on various technologies. Can they directly analyze the problem from the essence and the bottom when they encounter technical problems, and finally lead the team to solve the problem.

For example, for the problems mentioned above, if you want to solve it, first of all, you need a technical expert to have a certain depth of research on the source code of kafka. Then, when you encounter a problem, based on the fault site and some logs at the time, combine the operation of the source code Process, step by step to analyze and locate the problem

In the end, it may be possible to solve the above-mentioned difficult production problems through the adjustment of some kafka parameters.

The scenarios and capabilities described above are a reflection of the depth of technology. For example, if you have a complete, comprehensive, and in-depth source code research on a certain technology, this is already an unreachable technical depth.

Because many people say that they have read the source code, but in fact they have seen it a little bit, and the understanding is not very deep.

At the same time, if there are still some difficult problems encountered in the online production environment of a certain technology, and the experience of solving the problem through source code analysis, then it is a better embodiment of the depth of technology.

The prominence of the technical depth does not necessarily mean that after reading the source code, this is only one of the expressions, and there are others, such as a very difficult technical scenario, such as an enterprise Double Eleven millions of QPS concurrent requests per second Next, you are in charge of the payment system and successfully deal with the ultra-high concurrency.

In this process, your design of the system architecture, and a large number of concurrent optimizations and performance optimizations of the system can become a technical depth of your present technical field.

Fourth, technical depth of short-term preparation

How to quickly prepare for technical depth for the upcoming interview?

In fact, it is also very simple, divided into two cases to discuss.

If you have read a lot of source code of open source technology in the past few years, in the process of reading the source code, you have also drawn a lot of diagrams by hand.

Then at this time, you can completely turn over the source code research notes of the past few years, quickly pass through, and practice how to draw the source code architecture diagrams and flowcharts of various technologies on the whiteboard at the interview site by hand.

Or in the past few years, if you have done a complicated system for a certain technical field with high technical difficulty, and you have done a deep research in that technical field, then you can also quickly take notes from the past For the review, you must draw a picture on the interview site to explain the complex system and technical difficulty you have done.

But what if you haven't accumulated any of the above in the past few years?

Still the sentence: Grinding a gun in a battle, it's unhappy and light.

When examining the depth of technology, the general interviewer may ask you: Which technology are you more familiar with?

When you encounter this problem, I hope everyone is clear-headed, and do n’t let your brain get hot and talk casually, because you have to be mentally prepared, once you say a certain technology, for example, you say that you usually use dubbo to compare More, then the interviewer may turn on 10 combo modes at the source level.

For example, the interviewer will immediately start asking you about a technology you are familiar with, various underlying mechanisms and principles, let you talk about the understanding of the source code, and give you how to deal with this technology under various technical challenges. And so on.

I have seen too many inexperienced students casually say a familiar technique. In fact, he just uses it, but once I dig into the question, I basically get into a situation where I do n’t know.

If this happens, the interviewer's impression and attitude towards you will be extremely bad, everyone must remember it!

So, if you have n’t had any in-depth accumulation of technology, here is also a way to grind your gun:
you can pick a certain one from the resume that you use more, familiar with a little bit of technology, then Directly use the universal Baidu to search for "XX technology source code analysis" and "XX technology underlying principles".

Through a few days of rapid "死记硬背 # + soft grinding hard bubble", we strive to have a relatively low-level understanding of a technology.

In this way, at least when asked for some technical depth during the interview, it can give some analysis that is better than the answers of ordinary engineers. At least during the interview, you can get a better offer probability It will be relatively larger.

Again, doing it is better than not doing it well.

. You can prepare for the bottom layer, have some understanding, and always be better than the engineers who float on the surface and only use the API!

Similarly, the author would like to say here, to return to the essence of technology, there is no shortcut to accumulate the depth of technology, nor can it be completed in a few months. (Unless someone leads you)

Because if you really have technical depth, you may need to spend at least 2 years to study some basic technologies from the bottom.

After getting through your low-level technology, you can conduct in-depth source code research on common open source technologies, such as dubbo, zookeeper, spring cloud, redis, rocketmq, elasticsearch, and so on.

After a few years of accumulation, when you finally interview, the technical depth is actually accumulated.

Basic skills

In fact, there is nothing more to say about this. Everyone estimates that it is gradually felt now. When the experienced engineers recruited by the society go to interview the big Internet companies, they often have to inspect the data structure and algorithms.

Quick preparation of five basic skills

How to prepare this piece quickly?

My suggestion is that if you really have one month to go for an interview, then you will spend at least a few days to search the Internet for the most common and typical algorithm questions, and practice them repeatedly.

How proficient is it?

You need to practice repeatedly, and finally you can hand-write the code without bugs on the white paper.

Which topics are the most common and typical? For example, classic sorting algorithms and their analysis of time and space complexity, classic search algorithms, algorithmic problems of common data structures such as stacks, queues, linked lists, binary trees, etc. These related basic questions should be mastered.

Of course, the best thing for the accumulation of basic algorithms and the like is still in peacetime. For example, if you insist on spending half an hour on leetcode or lintcode every day to brush an algorithm question, stick to one year, you will brush at least 300 algorithms Questions, persist for two years, you have accumulated seven or eight hundred arithmetic questions.

At this time, I have accumulated enough, at least I do n’t have to worry about any basic handwriting algorithm for the interview, and the kung fu is actually still in peacetime.

As for the difficulty selection of the algorithm topic , only easy difficulty and medium difficulty on LeetCode or Lintcode are required.
Social recruitment requires lower algorithms and data structures than school recruitment. School recruitment is because students do not have too much project experience and can only examine your data structure algorithm and see if you are clever or not.
There was a saying on the Internet: **** If you can hand-write all easy and medium questions, pass it within 3 times, you can get the technical interview of most companies in Silicon Valley, including the interview of top companies such as Google and Facebook The situation is similar in China. **


Answer, follow the QR code below the public account,


Guess you like

Origin www.cnblogs.com/look-look/p/12720604.html