After undergraduate dual non-interdisciplinary training experience, Ali/Didi back-end three sides, and finally won the offer

Undergraduate dual-non-chemistry, cross-examination for master of electronics, postgraduates are still dual-non-free. No internet internship, no competition, no papers. (Have related internship experience in automation and college training lecturers)
In November 19, he started to learn Java to prepare for autumn recruitment.

Shuangfei is a cross-professional chemistry team, cast Ali/Didi back-end three sides, and finally won the offer

 

【Ali】

Two sides

  1. The company’s projects, design plug-ins,
  2. Talk about project architecture, design, data flow, ER diagram
  3. Used Redis, the solution to cache breakdown, what are the data structures of Redis, the master-slave structure of Redis, data sharding, consistent hash
  4. Based on JAVA, what data structure is used to store different objects, the hashCode and equals methods of the derived object, and what structure is used to implement HashSet;
  5. HashMap conflict resolution
  6. Is HashMap a thread-safe container, and how can it be solved if the JDK is accessed concurrently?
  7. How does the thread-safe container ConcurrentHashMap solve the thread safety problem, segment lock
  8. The difference between pessimistic lock and optimistic lock, what is the impact of using pessimistic lock (thread interruption, slow), what are the benefits of optimistic lock
  9. Spring, what is spring's IOC, and how to implement it, suddenly I don’t know where to start. I talked about dependency injection and dependency lookup, and talked about using spring annotations. Then the class where these annotations are loaded when the container starts. Use reflection to perform initialization and it's OK
  10. Then I asked whether it is possible to load a private member using reflection? No, you need to set permissions
  11. How to solve the circular dependency, use a Map to store the dependency, if there is a circular dependency
  12. How do I usually learn by myself, open documents, read blogs
  13. If there is a main thread and many sub-threads, the main thread needs to wait for the sub-threads to run before continuing. What would you use, CountdownLatch?
  14. Talk about the process of GC, cleaning, sorting, exchange (survivor area), CMS execution
  15. Talk about what you hope to do in the future, high concurrency scenarios and domain modeling
  16. Talking about domain modeling is the core idea of ​​DDD, which is realized by using the congestion model on the Service layer
  17. Do you usually write your own blog? If you don’t write notes, 996 has no time to blog

Three sides

I haven't sorted it out. Basically, the beginning is the same as the two sides, but the questions asked will be deeper and divergent, such as why the design is designed this way, whether there are any problems with the design, and so on. It is strongly related to the business, so you must be familiar with the business, but if the business is not difficult and the concurrency and performance requirements are not high, the depth of the answer to the specific questions may be lacking in the interviewer's expectations. The interviewers are very good, and they are also very good. They can get a lot of information from your description and ask you back. So we must be familiar with the entire department business. The divergence of the questions is very high. After working all day, it is easy to get stuck in the interview at night. Hey, I'm dead. Ali is really difficult on three sides, so we must maintain a good spirit! ! ! ! !

【Didi】

one side

  1. Implementation of java SPI mechanism? What is the difference between dubbo's spi and why? Have you read the source code of dubbo? Can you talk about its context? Do you understand dubbo's generalization call?
  2. How to improve system stability? Business monitoring, what to monitor? qps, rt, failure rate.
  3. How do you use the current limiting degrading fuse?
  4. How to solve the problem that the local transaction is successful, the message is sent to the message queue successfully, but the successful reply is not received due to network reasons? Transaction message
  5. How does concurrent hashmap solve the problem of concurrently inserting the first element of the bucket?
  6. Talk about the realization of threadlocal? How to pass the threadlocal variable of the parent thread to the child thread?
  7. Talk about the lock process. Talk about the realization of Aqs?
  8. Singleton implementation of double check. What problem does volatile solve? Is it possible to use only the synchronized keyword? Why not?
  9. Database, what about the realization of MVCC? Where is the realization of multiple versions? Do you understand the B+ tree index? How to solve the problem of non-repeatable reading?
  10. Distributed locks, how to solve the problem of lock timeout not being released
  11. What is the realization of dynamic proxy, and how is it realized at the bytecode level?
  12. Gc-related, new-generation, and old-generation-related algorithm processes, why should they be used in this way?
  13. Do you understand the context of spring, the implementation of ioc? ? How is di injection achieved? ?
  14. How is cas realized? Which variable is the exchange comparison?
  15. Do you know unsafe?
  16. Are there any areas you are familiar with that you can also talk about?

Two sides

  1. Tell me about the system architecture? Data flow? What about database design (ER diagram)? If a product list wants to display activities, how to design it?
  2. The difference between process and thread? Do you understand multi-process programming? What should be paid attention to in multi-threaded programming? Shared variables, execution timing
  3. MySQL's master-slave synchronization mechanism? What is phantom reading?
  4. Redis's master-slave synchronization mechanism?
  5. Experience of using MySQL? Add limit, execution plan, whether there is sorting, whether it is possible to use a covering index to solve the sorting, do not add the primary key to the outside
  6. Sequence traversal of binary tree?
  7. Design a ranking of the top 100 points? If the points change in a different place, how to make the scoreboard update in real time? Send messages, monitor binlog
  8. How to ensure strong consistency between local transactions and messaging? Transaction message can be resolved
  9. Why would you consider leaving? I hope there is a better platform for development
  10. The interviewer on the second side is very good, and asked about other things, such as whether the company uses these strict mechanisms, such as business news. The interviewer's answer: Of course, the simpler the mechanism used in the industry, the better, and new technologies can be used. Learning, but the introduction of actual production must consider its own complexity, Barabara has learned a lot

HR

There are no three sides this time, it may be a new department. I talked about the following parts

1. I am very interested in your company

2. I have other offers

3. My expected salary Barabara

4. Arrival information, etc.

Cross-professional learning journey

Gossip less, direct dry goods:

  • Java basic learning: I screened a lot of online courses and videos, and finally found that watching video learning is the fastest and most effective way. Following the teacher’s ideas in the video, first learn the basics of Java syntax, then to the framework, from basic to in-depth. It's still easy to get started. As for the videos, there are actually a lot of them on the Internet. I have a collector's edition given to me by my senior. It should not be searchable. If you need it, of course I can share it with you for free.

Shuangfei is a cross-professional chemistry team, cast Ali/Didi back-end three sides, and finally won the offer

 

  • Interview system construction: In fact, many non-subject players don’t know what to learn when looking for a job and how to learn. The poster has also made a lot of detours, and finally found a copy and will show you all the knowledge you will ask in the interview. , Although the talk is relatively shallow, it allows you to build an interview knowledge system, and then go deep into each point to learn

Shuangfei is a cross-professional chemistry team, cast Ali/Didi back-end three sides, and finally won the offer

 

 

  • In-depth study of interview knowledge: After building the system of interview knowledge, we need to study each point in depth. Only relying on "Sword Finger Java Interview" can only meet 60% of the interview needs. There is no shortcut to this part. I can only delve into it myself, but there are still some shortcuts. Here is a quick list for everyone:
    Talk about network protocols: written by Liu Chao, chief architect of NetEase Cloud, which introduces the underlying knowledge and protocols of the network. , The article belongs to the kind of vivid image, the poster has also read "Jiwang Top Down", really can't stand it. After reading this column, it is absolutely no problem to deal with the plan in the interview, and you can talk freely and chat with the interviewer. Fun Talk about Linux Operating System: It is also Liu Chao's book, titled Fun Talk Operating System. The actual content is very deep and in-depth. A lot of source code analysis, if you don’t understand it, it doesn’t matter. Have a general understanding of the operating system, and interviews can also say ten of them, which is completely enough. Modern operating systems: operating system reference books, where you won’t look. In-depth understanding of computer systems: computer system reference books, where you will not see where. In-depth understanding of the third edition of the Java Virtual Machine: A reference book for learning JVM.
  • The editor has compiled everything properly for everyone:

Shuangfei is a cross-professional chemistry team, cast Ali/Didi back-end three sides, and finally won the offer

 

Friends who need the full version of the source code + notes:

 

—————— Like + follow, add assistant VX: mxx2020666, you can get it for free

Guess you like

Origin blog.csdn.net/m0_46995061/article/details/109219898