2 years of Java development work experience, interviews with more than 20 companies after job-hopping

I recently changed companies. Since mid-February, I have met nearly 20 companies. I am a person who likes to sum up experience. Every time I go through an interview, on the way back, I will carefully recall which questions can be answered better today, or which questions I have not encountered before, or which knowledge points are today. I asked again and so on. At the beginning of March, I was thinking of writing an interview, mainly thinking that it might be helpful to those in the same situation as me, and also to record the month-long interview process.

learning process:

I have a clear understanding of this myself, so after the New Year, I began to seize my free time to study. The learning process is as follows:

1. Look at the interview questions

Normal people will definitely read the interview questions in the first step, and I am no exception. In the process of reading, I found that some articles were well written, which helped me a lot and it is worth recommending

2. Deep Learning

In the process of looking at the interview questions, you will encounter some knowledge that you have not been exposed to or have not studied in depth before, such as the most frequently asked HashMap internal implementation principle, which prompts you to start looking at the jdk source code or learning something new. Looking at the source code is a very important step. It is difficult to start, but it will give you a lot of benefits. If you encounter something incomprehensible in the process of looking at the source code, you can look at other people's understanding on Baidu. In the process of learning the source code, I have read a few people's articles about the source code that are very good

3. Familiarize yourself with the project

Find out the most annoying function that you have developed since your work, and thoroughly understand the process of the entire function and the things involved. Project is a part of the interview that must be asked. Generally, it is based on a function point. Therefore, you must have a deep understanding of this function, and there must be no ambiguity. If you have time, it is best to understand the knowledge points involved.

4. Do the interview questions

Many companies have interviews. If you have not prepared, it is easy to make mistakes in various small places. It is recommended to go to some interview question websites to do more questions. I use Niuke.com myself.

5. Learning records

Recording your daily study time and learning content can make yourself more motivated to study. Learning is a boring process, and you must keep yourself motivated at all times.

Resume submission, interview appointment

1. Which websites do you vote on?

Lagou.com, BOSS Zhipin, Liepin.com.

2. Should I invest in the sea?

There are two types of resumes.

1) No social recruitment interview experience: It is recommended to adopt the method of overseas investment. As long as the job requirements match your own, you can submit your application and accumulate interview experience. This link can add two more websites for submitting resumes: Zhilian and Wuyou.

2) I think that the interview experience of social recruitment is enough: choose those positions that match the position and the company is satisfied with. For company evaluation, you can go to Zhun.com, Baidu, Zhihu and other queries.

3. How many interviews are suitable for a day?

The ideal situation is two interviews, usually around 10 in the morning and around 2 in the afternoon. It is recommended to put the ideal company in the afternoon, because the time in the afternoon is sufficient and the company can get to know you more fully. When I started to meet, every time it was bad in the morning and good in the afternoon.

4. There is often no text in the resume submitted?

I didn't think it would be so difficult to screen a resume. Maybe my resume doesn't have many highlights. Besides, many HR people are not insiders, so what they see most directly is the company you went to and the school you graduated from. , if you didn't come from a great company/school, you may encounter the same situation as me, and the way to deal with it is to vote more.

5. Should I speak naked?

At first, I voted while I was working, and then took advantage of the time off, or took time off for interviews. Later, there were more and more interview opportunities, and I asked for leave too frequently. I felt embarrassed, and I had enough confidence. At this time, I chose to resign. Another reason for naked resignation is that in the interview process, you will find that some companies have important people. If your resignation process is too long, you may miss the company.

6. Precautions

1) Calculate the route and time the day before the interview, it is best not to be late.

2) Carry a schoolbag, resume, power bank, tissue, umbrella.

Interview session

1. Frequently Asked Questions about the Written Exam?

Frequently Asked Interview Questions The link to the interview questions given above is basically there. I only mention a few points: 1) Writing SQL: Writing SQL often examines group by, inner join and outer join. 2) Handwritten code: Handwritten code generally tests singletons, sorting, threads, consumer producers. I suggest that the sorting algorithm should be able to write some other sort code besides bubble sort. Just think: If most interviewers write bubble sort, and you write quicksort/heapsort, it will definitely leave a good impression on the interviewer.

2. What is the interview process?

1) Let you introduce yourself

2) Ask Java Basics

3) Ask the item

4) Scenario problems, such as: after one of your functions is put into the production environment, the server pressure increases sharply, how to troubleshoot.

5) What would you like to ask the interviewer

3. What knowledge points are frequently asked in interviews?

1) Set related questions (must ask):

  • The underlying implementation of HashMap, LinkedHashMap, ConcurrentHashMap, ArrayList, and LinkedList.
  • The difference between HashMap and Hashtable.
  • The difference between ArrayList, LinkedList, and Vector.
  • The difference between HashMap and ConcurrentHashMap.
  • The difference between HashMap and LinkedHashMap.
  • Is HashMap thread safe.
  • How ConcurrentHashMap achieves thread safety.

2) Thread related questions (must ask):

  • 3 ways to create threads.
  • What is thread safety.
  • The difference between Runnable interface and Callable interface.
  • The difference between wait method and sleep method.
  • synchronized、Lock、ReentrantLock、ReadWriteLock。
  • Introduce CAS (lock-free technology).
  • What is ThreadLocal.
  • 4 ways to create a thread pool.
  • The inner workings of ThreadPoolExecutor.
  • How to ensure thread safety in a distributed environment.

3) JVM related issues:

  • Introduce the garbage collection mechanism (when, for what, what to do).
  • What are the algorithms of garbage collection and their characteristics.
  • The process of class loading. Parent delegation model.
  • What class loaders are there.
  • Can I write a class called java.lang.String.

4) Design pattern related questions (must ask):

  • First ask which design patterns you are familiar with, and then ask you specific implementation and related extension questions of a certain design pattern.

5) Database related questions, for Mysql (must ask):

  • Give the title your handwritten SQL.
  • There is no SQL optimization experience.
  • Mysql index data structure.
  • How to optimize SQL.
  • Execution order of SQL keywords.
  • What kinds of indexes are there.
  • When should (and shouldn't) build an index.
  • Which columns are included in Explain.
  • What are the values ​​of the Type column of Explain?

6) Framework related issues:

  • The difference between Hibernate and Mybatis.
  • The difference between Spring MVC and Struts2.
  • What design patterns does Spring use.
  • What is AOP mainly used for in Spring.
  • The way Spring injects beans.
  • What is IOC and what is Dependency Injection.
  • Whether Spring is single or multiple, how to modify it.
  • Spring transaction isolation level and propagation.
  • Introduce the caching mechanism of Mybatis/Hibernate.
  • The difference between # and $ in the mapper file of Mybatis.
  • The difference between resultType and resultMap in the mapper file of Mybatis.
  • There is no implementation class written in the DAO layer interface in Mybatis, how are the methods in Mapper and DAO interface methods bound together, and how are they implemented internally.

7) Other problems encountered:

  • Introduce stacks and queues.
  • The difference between IO and NIO.
  • Difference between interface and abstract class.
  • Issues related to automatic unboxing/boxing of ints and Integers. Constant pool related issues.
  • The difference between == and equals.
  • The difference between overloading and overriding.
  • The difference between String and StringBuilder and StringBuffer.
  • Are static variables, instance variables, and local variables thread-safe and why? Which one is executed when try, catch, and finally have return statements.
  • Introduce B-tree and binary tree.
  • What do the 4 letters of ajax mean?
  • What is the full name of xml.
  • Implementation of distributed locks.
  • Distributed session storage solution.
  • Common linux commands.

 ​​​​

There have been a lot of job-hopping interviews recently, which is also my original intention of writing this article. I have also compiled some technical materials and interview questions for everyone to improve and advance. Whether you plan to change jobs or simply improve yourself, you can get it for free one serving.

From the interview resume template to the summary of the big factory, from the internal technical information of the big factory to the Internet high-paying must-read list, as well as the core knowledge points of the Java interview (283 pages) and the latest version of the Java interview question collection in 2022 (485 pages), etc. , These interview materials are organized for everyone. I hope that the pits that have been stepped on in the interview will not be stepped on again, and the technical bottlenecks encountered will be eliminated at one time.

The free download method is attached at the end of the article

1. JVM (2022)

(Including: JVM class loading mechanism, JVM memory model, garbage collection mechanism, class bytecode implementation mechanism, JVM tuning case, GC log details, etc.)

2. Java Concurrent Programming (2022)

(Including: java memory model, concurrent collections, thread pools, blocking queues, CAS and atomic operations, lock-free concurrency framework Disruptor, etc.)

3. Spring (2022)

(Including: spring IOC, spring AOP principle, spring 5, springMVC, transaction management, circular dependency, spring design pattern, etc.)

4. Mysql (2022)

(Including: SQL execution principle, underlying mechanism of indexing, SQL execution plan analysis, Mysql lock mechanism, Mysql transaction isolation, SQL optimization practice, etc.)

5. Spring Cloud (2022)

(Including: service discovery and registration of Eureka and Nacos, service current limiting fuse downgrade Hystrix and Sentinel, distributed transaction Seata, gateway Gateway, etc.)

6. Dubbo (2022)

(Including: Dubbo foundation, architecture design, cluster, configuration, communication protocol, SPI, etc.)

7. Redis (2022)

(Including: Redis core data structure, Redis persistence mechanism and security mechanism, Sentinel and cluster architecture, Redis cache penetration, cache invalidation, cache avalanche, Redis cache design and performance optimization, etc.)

8. Distributed (2022)

(Including: distributed architecture principle, cluster architecture principle, distributed lock, distributed transaction, distributed protocol, distributed configuration, massive data sub-database sub-table, distributed scheduling, etc.)

9. Design Patterns (2022)

(including: singleton pattern, factory pattern, abstract factory pattern, builder pattern, prototype pattern, adapter pattern, decorator pattern, proxy pattern, etc. 23 design patterns)

10. Data Structures and Algorithms (2022)

(Including: red-black tree, B+ tree, greedy algorithm, hash divide and conquer method, seven search algorithms, dynamic programming, consensus algorithm, etc.)

11. MQ (2022)

(Including: message loss, repeated message consumption, message disorder, message backlog, delayed queue, message retrospective consumption, message flushing mechanism, MQ middleware cluster architecture principle, etc.)

12. Netty (2022)

(Including: BIO, NIO and AIO thread model, Netty thread model, serialization protocol protobuf, sticky package unpacking problem, Netty heartbeat mechanism, direct memory and Netty zero copy, WebSocket protocol, etc.)

13. Zookeeper (2022)

(Including: ZooKeeper election mechanism, ZooKeeper data model, ZooKeeper application scenarios, etc.)

14. ElasticSearch (2022)

(Including: ElasticSearch data model, ElasticSearch distributed architecture, ElasticSearch data read and write principles and segment merging, etc.)

15. Network and Operating System (2022)

(Including: network protocol, TCP/IP system structure, TCP/IP protocol family, common interview questions, etc.)

Due to the limited space, only part of the content is shown here. All the information can be obtained for free by clicking on the business card below.

おすすめ

転載: blog.csdn.net/weixin_45987729/article/details/123680735