To what extent can I learn Java and work for BAT?

Many Java beginners are concerned about such a problem, to what extent can they find their first job after learning Java. Everyone's goals are very clear and realistic. Learning Java is nothing more than looking for a job. So how much Java knowledge do I have to learn before I can find my first job. I wrote an article before that recorded the first interview in my life. At that time, my Java level was nothing more than the level of just getting started, but as a school enrollment, it is not very difficult to find a development job in a small company, after all. There are so many Internet companies, and the requirements are very different. There is also a big gap in the requirements and evaluation standards for technology, academic qualifications, and practical capabilities. So, to what extent did Java learn to find the first job, I think the company should be used as a variable, so that it makes sense to answer this question.

Small entrepreneurial company

The characteristic of small entrepreneurial companies is that they have fewer people and complicated things. Here we are referring to small companies with less than 100 people. In fact, there are many such companies. Let us put aside some unicorns or well-known startups, let's talk about most startups first. These companies are not very demanding, and academic qualifications are not the focus. You have a little master of Java basic knowledge, and you have done a few Java Web projects. It is best to write front-end code and communicate, so the problem should not be too big. This kind of company has fewer channels for recruiting, and the salary cannot attract outstanding professionals. Therefore, there are few employees and often one person has more than one job. The advantage is that it helps to exercise one's all-round ability. However, there are few training instructions, and employees need to explore on their own!

 

Small and medium-sized companies

Speaking of small and medium-sized companies, it generally refers to those companies with more than 100 employees and less than 500 employees. They are still developing companies. Such companies are slightly more formal. Recruitment and training may have their own set of standards, such as academic qualifications. There may be some requirements on the above, and the technical controls are more stringent. In addition to basic Java knowledge and project experience, you may also examine your debugging capabilities, code specifications, exception handling capabilities, and understanding of some advanced Java features. , It may be best to use more frameworks. All in all, the selection criteria for this type of company are more systematic, unlike some very small companies, where recruitment is very random, and the leaders only need to make a decision. This type of company can attract some outstanding talents, and there will be some down-to-earth and capable diligent employees.

 

Second- and third-tier Internet companies

The scope of such companies is very wide, such as Sohu, Sina, 360, or Xunlei, Jinshan, Cheetah, and even companies with relatively good status such as iQiyi and Ctrip. Such companies are not crowded out by BAT, TMD and other first-line Internet ranks, but in the second and third-tier lineups are relatively good companies, their requirements for talents are actually relatively high. For example, a bachelor’s degree is generally required, and you should be familiar with the basics of Java. It is best to be able to read the source code. If you have not read it, then you should prepare for the interview questions on the source code. In addition, generally speaking Your back-end technical knowledge, such as databases, networks, and operating systems, will not be too difficult to investigate. If you can master the knowledge points in the face, it will be more solid. This type of company generally does not take the exams that are too complicated, and hopes to recruit some talents with medium level of ability. As long as they have a wide range of knowledge, they can talk about the ideas of the questions. They don’t need to be particularly in-depth, and they can also have the opportunity to take the exam. To offer. In fact, the reason is that the second- and third-tier Internet are unlikely to compete with first-line companies for first-line talents, so generally they are fighting for second-line talents, which do not need to be too good, but at least if they are at a medium level, so these companies are still relatively good to many programmers There is a chance.

 

First-tier Internet companies and unicorns

Famous Internet companies such as BAT and TMD belong to this type of company. The development gap between these companies and second- and third-tier Internet companies is still relatively large. This is reflected in the company's scale, market value, and even stock price. The business is based on technology, so The technologies of these companies are often the top in the industry, such as Ali's cloud computing and middleware, Toutiao's recommendation algorithm, Tencent's game technology, and so on.

To enter these companies, you must not only do those things before: master Java basics, basic computer knowledge, and be very proficient . You need to understand each point of knowledge deeply, because the interviewer will continue to ask you questions and understand you At the same time, you need to have an understanding of the source code, and understand the implementation of the framework and the implementation of the JDK on the basis of reading the source code .

In addition, you need to have a clear understanding of JVM, not only to understand its structure, the principle of garbage collection, but also to know how to solve online problems through JVM tuning.

In the same way, you also need to be very familiar with the use of Java concurrent programming and network programming and the underlying implementation principles, not only to answer the difference between NIO and BIO, or the difference between synchronized and lock, you also need to know the underlying implementation of NIO epoll What is it, what is the mutex lock corresponding to synchronized, what is the realization principle of lock and condition, and the lock itself is also realized through components such as AQS, CAS operation class, etc. There are too many content, not just a few interviews The problem can be solved.

Of course, in addition, these companies have much higher requirements on databases, caches, and distributed technologies than other companies. You’d better understand the implementation principles of MySQL’s storage engine, indexes, and locks, and Redis caching. The data structure, backup method, and bottom layer implementation of.

At the same time, if you can understand load balancing algorithms, CAP theory, and even raft and paxos algorithms, as well as common distributed technologies such as message queues, zookeeper, etc., then it is undoubtedly a skill that can add points to you.

Why are the requirements of large companies so high? Because they are the best Internet companies and they naturally recruit the best talents. If the underlying principles cannot meet their needs for selecting talents, they will also examine the algorithmic capabilities of the interviewers. For example, the original questions of medium difficulty on LeetCode, or the variant questions of sword-finger offer, etc. Compared with the theoretical basis, the algorithmic questions have a higher degree of screening and more people can be eliminated.

 

At last


If you want to learn Java, I will share some Java learning materials with you. You don’t have to waste time searching everywhere. I have compiled all the materials from Java entry to proficiency. There are 6000G in total. These materials are all made by me. Java’s latest Java learning routes compiled in recent years, Java written test questions, Java interview questions, Java zero-based to proficient video courses, Java development tools, Java practice projects, Java e-books, Java study notes, PDF document tutorials, Java programmers Face-to-face, Java job application resume templates, etc., these materials will definitely bring you a great help in learning Java in the next. Every Java beginner must have it. Please enter my Java technology QQ exchange group: 127522921 to download by yourself . All the information is in the group file, so you need to communicate and learn more with you when you go in.

 

Guess you like

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