preparation
School recruit, in my opinion, is a special time long war, why say so, because from the moment you start to prepare the school recruit beginning, to offer a formal you receive, and determine to which a company, the time almost a year or so, the time is longer than one’s deceased father grind, such as civil servants are actually, you may ask why need so long time, of course, This also depends on the individual’s specific situation, each person will be different, but, also not much difference, except the great god level.
This article is mainly about the whole process of school enrollment, what to prepare, how to solve problems, how to adjust the mentality, these are very important, I also tell you my personal real experience, I hope to be helpful to you.
Select the direction
In my opinion, the first thing should is to choose the direction you look for a job, it should be about six months before you start looking for a job to determine, for example, you began in March 2021 for looking for a job, so, I suggest you had better be in now, is in October 2020 to determine the direction of the job, why so early, I’ll behind concrete analysis.
Speaking of the direction of work, for the current Internet companies, in fact, there are many directions to choose, but also depends on personal choice, of course, there can also be some data to do reference; At present, the mainstream orientation of school recruitment includes: algorithm, back-end development, front-end development, test development, operation development, client development, testing and so on. These positions are usually the most popular. For several positions, I also give my own suggestions for reference.
The first one is algorithm. I had thought about this direction when I was just a graduate student. However, with in-depth understanding and market demand analysis for this position, I gradually gave up. Jobs for algorithm, popular now is deep learning, machine learning, because the direction of the CV special hot, hot here is not good looking for a job, but the competition is too big, the algorithm of this year jobs, or from last year, is basically a fairy to fight, no two top journal papers, you are embarrassed to say that you are algorithm, therefore, If you want to find algorithms work, my suggestion is that, first of all, is a graduate student, second, more than 211/985, or more direct point is more than 985 schools, third, have ever sent a good journal paper, I think the three points into action (at least meet the above two points to consider to find algorithms work, otherwise, turn development Suggestions.
Said the next development, development actually competitive pressure is not small, now want to Go to big pressure is very big, because demand is so much, of course, compared with algorithm is much better, the back-end direction after all many, the choice of language is also a lot of, for example, Java, c + +, Python, Go in the direction of these languages are all can choose, Before also said, Go now demand also is in grow bigger, can consider the direction, competition may be smaller, among them, the Java’s biggest competition, it may be because everyone think Java good looking for work, lead to the number of delivery much more special, not to mention a consortium, want to find a Java jobs really is not easy, From my friends, as well as the feeling of my classmates looking for a job, the degree of difficulty of C++ entering dachang is still small, you can consider it, of course, these choices also depend on which direction you like more, or more familiar with, here is just some suggestions.
The school recruit process
The above said how to choose the problem, after the choice, you should be familiar with the current school recruitment process, just start if you do not understand, or do not understand some experience and so on, or will make some mistakes, so here to summarize.
In the current mode of school recruitment, school recruitment is divided into spring and autumn recruitment, spring recruitment is basically looking for internships, or a small amount of school recruitment recruitment, recruitment is the last autumn recruitment is not full, and then continue to recruit in spring recruitment, and autumn recruitment is basically the best period for fresh students to find a job.
In the spring of this year, the spring recruitment started in February, and many companies started to recruit interns. In particular, Bytedance started early recruitment in February, and it ended at the end of February.
Therefore, the best time to find an internship in spring recruitment is from February to May. There are always opportunities in this two to three months, which is also the best time to get an internship offer.
Next, from June to August, if you find an internship in spring recruitment, then generally you will be in the company internship, internship is over, to September is to start autumn recruitment.
But actually there is a problem here, in the previous part, now the autumn recruit usually early, probably in July when many companies began batch in advance, the pre-selection is very good with offer, so, choose to not to practice is very important, or, you go to practice, if you find your internship company isn’t what you want to leave, Suggest leaving as early as possible to prepare for autumn recruitment. Judging from this year, possibly because of the influence of the outbreak, by September began to fall, found that is already is late, with the classmates around me, for one, began in September this year autumn, cast a lot of companies are generally, results in the end only poor 5 interviews, found at this time, ahead of time batch is really important, Comparing with some students who did not have internships, they usually won several offers through the interview approved in advance. By contrast, they found that the advantage of internship was lost, which may be the reality of job hunting in Internet companies now.
How to deliver, how to push in
In front of the school recruitment process, here to talk about in the process of the interview will encounter problems, that is to deliver a resume.
We should all know, now the Internet company to find a job, basically are in the niu guest network to see the relevant information, this is also to provide a channel for everyone.
As for delivery, different companies now have different forms.
The first kind, big companies, big companies usually have their own the official website of delivery, are to be carried out in the official website of the delivery, the trouble is that a lot of resume information is need to manually input, so is time consuming, met you then you will find really a little tired, sometimes need to submit a resume for half a day; However, one advantage is that you can view the progress of the interview in real time, directly on the official website.
Second, some companies because they have no their own official website, so, hosted on a third party to carry out this operation, for example, on the ox from direct delivery, fill out your resume on cattle from, then, can a key delivery, this convenient some, however, is feeling a lot of time no news, I don’t know why.
The third kind, also depends on the third party company, this year’s delivery feeling, is generally dependent on a calledhttps://www.mokahr.com/
, this website is generally promoted by the company, the delivery site advantage is convenient delivery, and some companies only need you to upload your electronic resume can reduce the delivery cost, but it is not convenient to query the delivery progress.
Then, when it comes to extrapolation, there are only so many ways. In general, if there is a lab in a better Internet company, then we can push through this channel, generally more reliable, the success rate is relatively high; Secondly, now a lot of internal push is also carried out in niuke, I often also in niuke to see whether there is a company’s internal push, this way has a problem is that there are a lot of people in general internal push, can you be screened in the end is a problem; Finally, there is another way is through the public number, the official public number delivery, or some public number will also provide internal push code.
It doesn’t matter in the end, if not push, in fact, many people directly on the website or can be opportunities, and, now, don’t push the front of a few years, even push now, there is at most a written test, not directly to an interview, directly to interview unless resume is especially outstanding.
School recruitment knowledge reserve
This part, I think, is the focus of this article. This article is also written to tell you how to prepare for the school admission, and the professional knowledge part of which determines whether you can get the offer. Therefore, next, I will focus on the preparation work of the professional knowledge part of the school admission.
algorithm
First of all, I can tell you that the requirements of the school recruitment for the technology stack will not be very high, the school recruitment is to recruit fresh graduates, only need you to have plasticity, cultivable space, then, it is likely to give you an offer, so, if the school recruitment does not emphasize the importance of the technology stack, so pay attention to what investigation?
Yes, algorithm, for the computer professional students, from the university began to come into contact with the computer’s required courses there must be a data structure and algorithm of this course, and is also very important, and the school, from my own experience of interview, the algorithm is very important, cannot emphasize too much.
In the current recruitment process, first of all, there is a written test. The written test of large companies is usually 2-4 programming questions with difficulty above Leetcode hard. Therefore, the written test is to test the ability of your algorithm. After entering the interview stage, basically every round of interview, there must be algorithm questions, now is also the general use of niuke network assessment, so, we can go to the niuke network to adapt to, then, in an interview, the importance of the algorithm? Let me put it this way, if in a round of interview, the interviewer gives an algorithm question, if you can do it, other professional knowledge points are very average, you may enter the next round of interview, if you don’t do the algorithm question, professional knowledge points even if the answer is good, basically is cool. Therefore, from my experience, in the interview, A can get at least 60 points for algorithmic questions, and no A can get zero points, without exception.
The algorithm about how to prepare for, this also is A topic, I want to chat with you because I’m looking for A job, before algorithm ability is too general, so to speak, A lot of algorithms are all don’t understand, the basic subject is also hard to do it, but, after A year of training, now A algorithm in the interview questions out basically is no problem, unless it is particularly difficult topic, Then forget that I have experienced several times and felt that I was brushed KPI; Therefore, if you do not have any confidence in the algorithm now, do not worry too much, because I also came from the same way, as long as you insist on, methodical training, to deal with the basic interview is no problem.
Next, I will talk about how to deal with the algorithm difficulties of school admission and get an offer.
First of all, if you fall for more than a year of time, namely next year to participate in autumn, autumn, or more time, at the same time, is also the basis of your data structure and algorithm is not very good, I suggest that you first take a look at the data structure and algorithm of books, about to see what books, I have written before, we can see this article book recommendation must look at the data structure and algorithm.
Second, if your time is very nervous, immediately is going to attend for looking for internships, in fact, I don’t recommend reading this time, the efficiency of reading is hard to guarantee, I suggest you look at the cows from tutorial left god’s algorithm, left god’s tutorial is I have ever seen, from basic to advanced a set of courses, I feel very good, You can see the skill of the left god, for each algorithm type, each topic is detailed, recommended to have a look.
Then, if you have some understanding of the basic algorithm by watching videos or reading books, then, it is time to brush the exam.
Speaking of brush questions, in fact, the method is very important, here I will talk about my experience of this year’s brush questions, which also have their own blood and tears of the story, not to say more, here to tell you, to avoid stepping on pits.
No matter which direction, I suggest you brush the topic of the first book is “the sword refers to offer,” why do you say that, because of the interview, many questions are from the book, no matter which company, in addition, I need to tell you, especially for prepared because everyone is not very good, so, GuanChu interview will not be very difficult, Generally from this book, must be good to have a thorough understanding of each topic. So how to just calculate understand, can you read the book several times, but still not enough, you also need to bull meanwhile found that offer column, doing it online, and only when you can put online and every problem can be A and the optimal solution, this time, the book is passed, then, You can also handle 70% of the algorithmic questions in an interview.
If you’ve already done this and want to improve, I also recommend Sakami’s book, The Programmer’s Code Interview Guide: The difficulty of this book is much more difficult than offer, there are a lot of difficult topics, but each chapter is arranged very reasonable, are in accordance with the classification, very suitable for brush questions, training their own algorithm thinking.
Of course, if you don’t want to read books and want to directly brush the questions, THEN I recommend you to go to LeetCode to brush the questions. You also need to pay attention to the problem, try to brush according to the type, so that you can better practice. At the same time, I also recommend you to finish hot100 first, and then go to the other ones. In this way, the most popular topics can be settled first, and the rest have time to train again.
These are some tips for dealing with algorithms, which are of course for most people, but can be skipped.
Professional direction knowledge
This part is followed by the algorithm above, can be more reasonable, only on the basis of the algorithm, just have the capital to talk about professional knowledge, otherwise, there is no meaning. First of all, this section is for Java development. Other directions are not covered here.
Java everyone knows that technology is very much, but also more time, but combined with the characteristics of the school, vicious technology is not to discuss, the main need to review here will be talked about, mainly including the following.
- The data structure
- Computer network
- The operating system
- The database
- Java based
- Java collection
- Java multithreading and concurrency
- JVM
- Spring, Mybatis, SpringBoot and other frameworks
- Redis
- Dubbo
- Zookeeper
- The message queue
In fact, these knowledge points mentioned above are investigated very frequently. Among them, database, data structure, Java collection, concurrency, JVM, Redis, these knowledge points have a high probability of being asked, and are basically required for interview.
However, we do not have to worry too much, because, through the interview for more than a year, I basically summarized these knowledge points, common interview questions are also summarized, just need to review according to my summary, I think the problem is not big, the Internet top 50 should be no problem.
Below I give some of my summary of the commonly met questions, all classified, very easy to review.
- A Java based
- Consistent hash algorithm
- Sleep and wait
- Strong weak virtual reference
- The Arrays. Sort principle
- How objects are created
- What happens if the hashCode method always returns 1
- There are three ways to resolve hash conflicts
- Why and how do you override the hashCode() and equals() methods
- A dynamic proxy
- The difference between “sleep” and “wait”
- Examples of Java address and value passing
- Java serialization
- Java NIO, Java multithreading, thread pool, Java network programming to solve concurrency
- JDBC connection process, handwritten JDBC connection process
- Name three cases in which a program reported an exception
- What protocol are sockets supported by
- What design patterns do Java IO use
- Serviable serialized, where the UUID played a role
- When is reflection used
- What distinction do shallow clone and deep clone have, how to realize deep clone
- Can reflection use private method properties and underlying principles?
- What are the considerations for processor instruction optimization?
- Object Common methods of objects
- The difference between Stack and ArrayList
- The difference between statement and prestatement
- Handwriting simulation implements a blocking queue
- What kinds of interfaces are under the util package
- How did you troubleshoot the common Nullpointerexception and solve it?
- What is the difference between a static inner class and a non-static inner class?
- How do I create static inner classes and non-static inner classes?
- Xml parsing method, principle advantages and disadvantages
- The difference between static and global variables
- Two Java collection
- Hashmap jdk1.7 differs from JDk1.8
- Concurrenthashmap differs from JDK1.8
- The implementation principle of HashMap, the disadvantages of too large and too small expansion factor, what method can be adopted in the expansion process to ensure that the data in each bucket can resolve conflicts more evenly, and is there any other method (global hash)?
- Collection The reason why elements in a Collection class can only be removed from Iterator
- ArrayList, LinkedList, Vector
- Did you also unpack the List under util’s other package?
- CopyOnWriteArrayList
- ConcurrentHashMap and LinkedHashMap differences and application scenarios
- ConcurrentHashMap (jdk1.8); ConcurrentHashMap (jdk1.8)
- Usage scenarios for ArrayDeque
- ArrayBlockingQueue source
- The difference between HashMap and Treemap
- hashmap
- treemap
- Rehash process
- Load factor of HashMap, why capacity 2^n
- The difference between list,map and set
- When is a HashMap used
- Common thread-safe collection classes
- Three JVM
- Implementation of reflection at the JVM level
- What does the JVM’s methods store?
- What has become of the JDK1.8 JVM method area, and why
- Why oom appears
- Difference between class.forname and ClassLoader
- Java object information allocation
- Java Virtual machine ZGC details
- Java VIRTUAL machine CMS details
- Java Virtual Machine G1 details
- JVM Tomcat container started, JVM load description
- Quad thread concurrency
- Volitale usage scenario
- Reentrant lock, implementation principle
- Java locking principle
- Talk about multithreading, the synchronization method of multithreading
- Principle of synchronized
- reetrantlock
- What are the aspects of Java thread safety
- If you want to maintain thread safety if you want to implement a thread safe queue, how can you do that?
- Java multithreaded communication
- Summary of CountDownLatch, CyclicBarrier, Semaphore usage
- Content under JUC
- AOS and other related interview questions
- threadlocal
- Java thread pool submission limit, thread pool usage, Java multithreading, thread pool types, each type of difference
- How do you implement a thread pool
- The type of thread pool, how is the fixed size thread pool implemented internally, which queue is used to implement the thread pool type and workflow
- What design patterns are used for thread pools
- What are the general considerations when using thread pools
- Configuration of thread pools
- Excutor and Connector configuration
- Java Framework (SSM)
- hibernate
- Hibernate’s generation strategy
- Hibernate differs from Mybatis
- Mybatis principle
- Mybatis performs the select process
- Mybatis has what executors
- Mybatis plugin principle
- Mybatis level 2 cache
- spring&springmvc
- Design patterns in Spring
- Scope of beans in Spring
- BeanFactory is different from FactoryBean
- The aspect of variety
- Practical application of Spring AOP
- Spring implements multithreaded security
- High concurrency security issues with Spring’s beans
- Ioc AOP summary (overview)
- Spring loading process, Spring source Bean construction process
- Spring transaction source, IOC source, AOP source
- What does Spring do and understand how transactions are configured
- Spring transaction failures
- How are Spring’s annotations implemented
- How SpringMVC works
- Understand the difference between SpringMVC and Struct2
- What is the relationship between Spring MVC and Spring
- How exactly are Spring’s IOC and AOP used in the project
- The underlying implementation principles of Spring MVC
- Principle of dynamic proxy
- What’s the difference between a POST request and a PUT request if you use Spring MVC? Then start asking SpringMVC: Describe the entire process from Tomcat to springMVC’s return to the front-end display, then ask the internal implementation of handlerMapping in SpringMVC, and then ask the entire process from loading the XML file to getBean in Spring, and describe again
- Six micro services (Springboot, etc.)
- springboot
- springcloud
- Vii Data Structure
- Binary tree correlation
- Red and black tree
- Eight database
- MySQL
- Database deadlock problem
- Hash index and B+ tree index
- Repeatable principle MVCC
- Count (1), count(*), count(column name)
- Mysql undo/redo/binlog
- The explain explain
- Mysql pagination query optimization
- SQL injection
- Why use B+ trees
- SQL Execution Process
- Clustered and non-clustered indexes
- Cover index
- SQL summary
- It has been suggested that each table be given an autoincrement primary key. What are the advantages and disadvantages of this
- The difference between MySQL and Oracle
- 5 million number sort, memory can only hold 50,000, how to sort, how to optimize?
- How to write database fuzzy query (from dictionary tree to fuzzy query, prefix query, such as “ABC %”, or index strategy problem)
- There are 10 million pieces of user information in the database. The message needs to be sent to each user (the message must be sent successfully), which requires memory saving
- How are transactions implemented in a project
- Database design is generally designed into several paradigms
- What is the difference between mysql 5.7 and 5.6
- Improving MySQL security
- Ask a table like this (three fields: name, ID, score) to find ids whose average score is greater than 80 and then sort the score in descending order, and then use the aggregation function AVG after prompt.
- Why are mysql transactions guaranteed to fail rollback
- The underlying implementation principle of primary key indexes
- Classic 01 index problem?
- How to quickly filter out your name in long text?
- Multi-column indexes and the left-most prefix principle and other usage scenarios
- Transaction isolation level
- The left-most prefix principle for indexes
- How is database pessimistic lock implemented
- Principles for building tables
- The connotation and usage of index
- Two SQL statements were given to build indexes based on these two statements (personal opinion: mainly considering the composite index can only match prefix columns)
- So let’s talk about databases. How to optimize Inner join between A table and B table
- Database connection pooling understanding and optimization
- Sql statement group sort
- Five join concepts for SQL statements
- Database optimization and architecture (mainly related to master-slave separation and database and table separation)
- Depots table
- Cross-library join implementation
- The relationship between master-slave separation and sub-database and sub-table is discussed
- Database middleware
- Implementation of read and write separation in middleware
- Current limiting and fusing
- Application scenario of row lock
- Redis
- Why is Redis fast?
- Redis data structure principles
- Redis persistence mechanism
- Redis consistent hashing algorithm
- How much redis knows
- Redis five data types, when the value of the hash type is very large, how to compress
- How to use Redis to achieve a shake and nearby people function
- Redis master/slave replication process
- How does Redis resolve key conflicts
- How does Redis store data
- Redis usage scenarios
- Ix Computer Network
- How to disable cookies
- Netty new instantiation process
- Socket implementation process, specific methods used; How to implement asynchronous socket.
- Browser caching
- HTTP related Issues
- TCP three-way handshake What if ACK is lost during the third handshake
- Does DNS belong to UDP or TCP
- Idempotency of HTTP
- What information is exchanged between the client and server (see TCP packet structure)
- How does packet loss solve the retransmission cost
- Implementation principle of Traceroute
- IO multiplexing
- What’s the difference between select and poll?
- How to implement server push without using WebSocket
- This can be done using the client to periodically refresh requests or to maintain a heartbeat connection with TCP.
- Check the disk read/write throughput?
- On which layer PING is located
- Network redirection. Talk about the process
- How does controller handle requests: Routing
- How many types of IP addresses are there? What does each type represent? What is a private network
- X Operating System
- Java I/O low-level details, not how to use
- Java IO model (BIO,NIO, etc.), which model Tomcat uses
- After acquiring the first lock, what should I do if the condition is not met and the lock needs to be released?
- Handwriting a thread-safe producer and consumer.
- Process and thread scheduling methods
- linux
- Linux lookup command
- Common Linux commands are deployed
- What information is in the process file
- Difference between SED and AWK
- Linux view process and kill command
- I have a file locked. How do I check the thread that locked it?
- How do I view lines 100 to 150 of a file
- How do I view the resources consumed by a process
- How do I view the threads under each process?
- How does Linux find files
- Select epoll
- Xi Framework Others
- What design pattern does the Servlet Filter use
- What do you use zooKeeper for
- Redis operation is not atomic operation
- Second kill service scenario design
- How to design Taobao second kill system (focus on architecture, such as data consistency, database cluster consistency hashing, cache, sub-database sub-table, etc.)
- Do you understand the background optimization? Like load balancing
- Understand Restful knowledge, advantages, and differences from SOAP
- The basic principles of Lrucache
- Xii Design Patterns
- Java common design patterns
- Xiii Distributed
- What is the difference between the Dubbo protocol in Dubbo and the HTTP protocol?
- Load balancing
- The implementation of distributed lock and its advantages and disadvantages
- CAP
- How to implement distributed caching
- Fourteen other
- Java 8 functional programming callback functions
- Functional programming, object oriented difference
- Advantages and differences of Stream iteration in Java 8?
- Does synchronization equal visibility?
- Git underlying data structures
- Security encryption
- Web Security Issues
These are the Internet companies I sorted out the various knowledge points often meet the questions, very high frequency interview questions, here because of the limited space, it is not good to show all, if you want to see specific answers or high-quality blog answers, you can go to my Github to view: high frequency interview questions classification summary.
The above these interview questions may not particularly full, some of them are not considering, considering this problem, I will give some related interview questions together a mind map, if you have need can also go directly to obtain this article, about what’s good about mind mapping in this article I not much said, the above mentioned in this article, in a word, Get these information, as long as you think about it, must be a great help to the interview, after all, THAT’s how I came.
Of course, this github is not only about the above interview questions, but also about my accumulation and summary of this year. If you read it, you will know that it will be of great help to your interview, because I got the offer from big factories by relying on the above questions.
Face the
Originally this article finally want to talk about some face by the company, but, I write this found already wrote a few days, this article also fast 2 w words, considering the paper length is too long is not good, so, this article temporarily don’t share some companies face the, future articles to share again, if you want to see the back of the company in front of the classics, For example, byte, Ali, Tencent and so on, trouble to give a praise, this article dead knock fast week, original is not easy, I hope to help you.
Finally, feel good, click “like”!