The undergraduate double non chemistry, cross examination of the master of electronics, graduate students still double non. No Internet internships, no contests, no papers. (Have internship experience related to automation and university training lecturer) November, 19, I began to learn Java to prepare for autumn enrollment.

 

“Ali”

Second interview

  1. Company projects, design plug-ins,
  2. Talk about the architecture, design, data flow, ER diagram of the project
  3. Redis, cache breakdown solution, Redis data structure, Redis master-slave structure, data sharding, consistency hash
  4. HashSet = hashCode; HashSet = equals;
  5. Conflict resolution for HashMap
  6. Is HashMap a thread-safe container
  7. How does ConcurrentHashMap solve thread-safe problems
  8. The difference between pessimistic locking and optimistic locking, what are the effects of using pessimistic locking (thread interruption, slow), what are the benefits of optimistic locking
  9. Spring, what is the IOC of Spring, how to implement it, suddenly a little bit don’t know where to start, talk about dependency injection and dependency lookup, talk about using Spring annotations, and then when the container starts to load those annotations in the class, use reflection to perform initialization OK
  10. Can you load a private member using reflection? No, you need to set permissions
  11. So how do you solve for circular dependencies, how do you store them in a Map, if you have a circular dependency
  12. Usually through what way to learn, open the document, see the blog
  13. If you have a main thread and a lot of child threads, and the main thread waits for the child threads to finish executing, what do you use, CountdownLatch
  14. Talk about GC, cleanup, cleanup, swap (survivor zone), CMS execution
  15. Talk about what you hope to do in the future, high concurrency scenarios and domain modeling
  16. Talking about domain modeling, which is the core idea of DDD, is implemented by using the congestion model at the Service level
  17. Do you usually write your own blog? Without notes, 996 has no time to write a blog

On three sides

If not sorted out, the beginning is basically the same as the second interview, but the questions will be more in-depth and divergent, such as why to design this way, whether there is a problem with the design and so on. It is strongly related to the business, so it is necessary to be familiar with the business. However, if the business is not difficult, the concurrency and performance requirements are not high, the depth of the answer to specific questions may be short of what the interviewer expects. Interviewers are very good and powerful people who can pick up a lot of information from your description and turn it back on you. So make sure you’re familiar with the whole department. The divergence of the question is very high, the brain work all day, the interview in the evening, easy to jam. Oh, what a loss. Ali’s three difficulties are really great, so be sure to keep a good spirit !!!!!

“Drops”

One side

  1. Java SPI mechanism implementation? What is the difference between dubbo’s SPI and dubbo’s spi? Have you seen dubbo’s source code?
  2. How can I improve system stability? Service monitoring. What is monitored? QPS, RT, failure rate.
  3. How do you use it?
  4. How to solve the problem that the local transaction succeeds, the message is sent to the message queue successfully, but no successful reply is received due to network reasons? Transaction message
  5. How does a Concurrent HashMap solve the problem of concurrently inserting the first element of a bucket?
  6. What’s the implementation of threadLocal? How do I pass a parent thread’s threadLocal variable to a child thread?
  7. Add the flow of lock to talk about. What’s the implementation of Aqs?
  8. What problem does volatile solve? Is it ok to use only the synchronized keyword, and why not?
  9. Database, MVCC implementation, okay? Where is the multi-version implementation? B+ tree index? How to solve the problem of unrepeatable reading?
  10. Distributed lock, how to solve the lock timeout problem
  11. How is dynamic proxy implemented, and how is it implemented at the bytecode level?
  12. Gc related, new generation, old generation related algorithm flow, why use this way?
  13. Do you know the context of Spring, ioc implementation? How is DI injection implemented?
  14. How is CAS implemented? Which variable is the exchange comparison?
  15. Understand the unsafe?
  16. What are some areas that you are familiar with that you can talk about?

Second interview

  1. What about the system architecture? Data flow? Database design (ER diagram)? If a list of goods is to show an event, how is it designed?
  2. What’s the difference between a process and a thread? Do you know anything about multi-process programming? What do you need to know about multithreaded programming? Share variables and perform timing
  3. MySQL master/slave synchronization What is illusory?
  4. Master/slave synchronization in Redis?
  5. How to use MySQL? Add limit, execute the plan, whether there is a sort, whether the sort can be resolved using an overwrite index, do not increment the primary key externally
  6. Sequential traversal of binary trees?
  7. Design a top 100 leaderboard? How do I keep the scoreboard up to date if the points change in different places? Send messages, listen for binlog
  8. How to ensure strong consistency between local transactions and messaging? The transaction message is resolvable
  9. Why are you considering leaving? I wish I had a better platform to develop
  10. 2 face interview officer person is very good, and ask some of the other, for example: do you have use these strict mechanism, such as transaction message, the interviewer answer: industry use is, of course, the more simple mechanism, the better, can learn new technology, but to introduce must consider the complexity of the actual production, yapping a lot

HR

There are no three sides. Maybe it’s a new department. We talked about the following parts

1. I have a high interest in your company

2. I have other offers

3. My expected salary is blah blah

4. Arrival information, etc

Cross-disciplinary learning process

Idle talk less Syria, directly on the dry goods:

  • Java basic learning: I screened a lot of online courses and videos, and finally found that watching videos is the fastest and most effective way to learn. Following the teacher’s ideas in the videos, I first learned the basic Java grammar, and then the framework. From the basic to the in-depth, it is still easy to get started. As for the videos, there are actually a lot of them on the Internet. My senior gave me the treasured version, which should not be searched. If you need it, of course, I can share it with you for free. There is a need to directly forward this article, pay attention to the end of the public account can be obtained!!

 

  • Interview system structure: not a lot of English major players, find a job in don’t know to what to learn, how to learn, TieZhu also left a lot of detours, finally found a, all the knowledge will take you to the interview asked spoke 1 time, although more shallow, but allows you to build a job interview, knowledge system, and then to study each of these points

 

  • Personal project: The poster made two projects by himself, one was shop system and CRUD project to show his ability of moving bricks, and the other was tearing Spring framework by hand to show his learning ability, just like the Java interview. Java dual version (SSM to SpringBoot) campus shop full stack development, this campus shop project can be replaced by any CRUD project, such as niuke that forum project technology will be more powerful point. Java from the development of the framework, win the Spring source code, make the wheel of the project if used, it is necessary to understand their knowledge inside, the Spring framework source code look familiar. (However, according to my personal interview experience, I found that this project is rarely asked, and even if asked, the questions are not in-depth, probably because the interviewer is not particularly familiar with Spring source code, which can be replaced by RPC framework to make wheels, which is more popular).

 

  • Interview knowledge in-depth study: in the build after the interview of knowledge system, we need further to study for each point, just rely on the sword refers to Java interview can only meet the demand of 60% of the interview, this part is no shortcut, only yourself to study, but still have some shortcuts, slightly below give you a quick list: anecdotal stories network protocol: Written by Liu Chao, chief architect of netease Cloud, this article introduces the basic knowledge and protocols of computing. The article is of a vivid kind, and the owner of this post has also read “Computing From top to Bottom”, which is really hard to read. By the end of this column, you’ll have no problem dealing with the plan of the interview, and still be able to talk and have a good time with the interviewer. Interesting Linux operating system: the same is Liu Chao’s book, the title of the book is interesting operating system, the actual inside of the content is very deep, a lot of source code analysis, if you don’t understand it doesn’t matter, where to understand where to remember, read will have a general understanding of the operating system, the interview can also say ten of the ***, fully enough. Modern operating systems: Operating system reference books, where do not see where. In-depth understanding of computer systems: computer systems reference book, where not to read. In-depth Understanding of the Java Virtual Machine version 3: Learn the JVM reference book, where not to see.
  • Xiaobian no problem all sorted out for everyone:

 

Need the full version of the source + notes for friends:

 

—————— forward + comment + like the article, follow the public account below to obtain.