Tencent, Huawei, Ali ... 7 Java back-end interview experience open to the public!

  Feel like the interview is to ask the main focus of the resume, so unfamiliar things better not just write up. Project and infrastructure are important, the overall framework of the basics can refer CYC2018 a blog on GitHub, the classification is very wide, but in-depth study or to yourself to read a book, write demo. The best projects have difficulties, we can reflect their own thinking process and problem-solving. Algorithm to prove safety aspects about offer + LeetCode 200 bar. Voted 10+ company, this interview probably several other written or not the result was brushed.

 01  Tencent

one side:

  1. Talk about anomalies, throwable, exception, error

  2. try- catch

  3. Handwriting singleton - very strange, GG

  4. volatile, action, bottom, Lock prefix instruction, sniffing mechanism multi-CPU, cache coherency protocol in a multiprocessor

  5. synchronized

  6. JVM memory division, generational heap memory

  7. redis, source code,

  8. Examples of spring bean process. - unfamiliar places do not write up.

  9. AOP

  10. Redis use to achieve single sign-on, then when the individual is not enough memory node redis time, how do? Clustering, redis-Cluster

  11. Comparison partial bottom

 02  Huawei

one side:

  1. Self introduction

  2. How to project the availability, performance, scalability, upgrade

  3. nginx is how to achieve reverse proxy, the direction of which layer proxy? Application layer

  4. How to provide service outside the HTTPS protocol, including the network using the http protocol to be implemented by nginx configuration

  5. Factor when designing a network, you need to consider

  6. Virtual network

 03  bytes beating

  1. Self introduction

  2. sign in

  3. JVM memory division, why should the heap memory generational recycling, different life cycle

  4. redis, master-slave, Sentinel, clustering, distributed lock.

  5. Redis of object types, each object type corresponding to the underlying data structure, reference redis Design and implementation.

    1. string, list, hash, set, sortedset.

    2. Each object data structure having at least 2, SDS, linkedlist, ziplist, intset, ziplist, skiplist

  6. ISN, TCP protocol Why should initiate a sequence of random numbers - security to prevent message collisions and stranded on a conversation

 04  Shredded algorithm

  1. The 930,055,300 converted to the corresponding figures,

  2. The length of a given value of n ranges from 0 to n-1 of the array, and then determine whether there is a problem of duplicate elements appear.

  3. leetcode 42 rainwater collection problems

 05  to fight a lot

one side:

  1. Self-introduction, redis, distributed lock, redlock algorithm, zookeeper distributed lock, distributed lock problems

  2. Handwritten variant of a random selection algorithm

 

Two faces:

  1. Explain page fault, the virtual memory

  2. The JVM memory zoning, generational heap, why generational garbage collection algorithm, the garbage collector

  3. Communication between Linux process, pipes, named pipes, socket, shared memory, message queues

  4. How to achieve efficient communication between processes under specific scenarios and asked questions related to storage.

  5. MySQL index type, the underlying data structure

  6. Handwritten one pair of linked list insert and delete, search method

 

HR:

  1. Why change your major

  2. There are no other companies offer,

  3. career planning

  4. Do you consider yourself to turn professional and technical education compared to the gap where, why should we hire you 555

  5. The process of learning how to learn

 06  China Merchants Bank

Telephone resume face:

  1. Self introduction

  2. Characteristics of the transaction ACID, database deadlock scenario occurs

  3. Deadlock four essential characteristics, non-shared, hold and wait, non-preemptive, circular wait

  4. Deadlock Avoidance Deadlock Prevention

  5. State of the thread, new, ready, running, wait, blocked, terminated

  6. The difference between the different sleep and wait, like, will release the locks held, monitor

  7. JDK reentrant locks, read locks, underlying the AQS, abstract queue synchronizer mechanism

  8. Optimistic and pessimistic locking lock, conceptually, JDK classes in disadvantage of CAS, idling, ABA problem. The pause command, AtomicStampedReference

  9. Talk Servlet, web.xml configuration path mapping to a servlet, init, service, destroy

  10. Tomcat container can take a look at two major processes, Connector and Context container. Completed configuration from the socket to the object request and Response

  11. SpringMVC the dispatcher-servlet request parsing process

  12. redis introduction, the role of the system, as a cache, distributed server session

  13. redis performance, availability, master copy from Sentinel +, have consumed redis cache access on the network.

  14. redis transactions, distributed transactions, 2PC, tables and other local news, 3PC

 07  Ali Baba

one side:

  1. Self-introduction project

  2. Greatest achievement of a project, highlighting, the evolution of the project, to improve system availability from evolution, for example redis availability,

  3. Distributed Lock (project), redlock, persistence mechanism, master-slave replication process, redis know will speak

  4. Distributed Session redis solving problems, single sign-on, Session consistency, describe how to achieve

  5. IOC instantiation process, principles,

  6. AOP, JDK proxy, Proxy, InvocationHandler

  7. A circular linked list is empty Analyzing

  8. Traversing the tree, the sequence, before, during and after the non-recursive Recursive

  9. OS P / V Semaphore class,

  10. CAS, AQS achieve

  11. See which books, forums, how to learn Java

  12. Puzzles soft drinks problems, two bottles for a bottle of soda, 1 yuan a bottle, how many bottles of soda questions can buy (just read, and finally by borrowing a bottle to drink a bottle)

     

Two faces:

  1. Self introduction

  2. In school, learning, involved in the project (describe business process architecture of)

  3. hosts file

  4. Optimistic locking, pessimistic locking, for example, can by the way, CAS, volatile, synchronized

  5. Transactions, distributed transactions, how to implement a distributed transaction, two-phase commit (process)

  6. JVM heap division method area,

  7. Performed system.gc () GC mechanism is triggered, FGC, how to recycle, and recycle generational

  8. Caton periodic system, how to locate problems, combined GC logs, YGC, FGC, adjusting the size of the generation, reduced time FGC

  9. Causes of FGC

 

Three sides:

  1. Self-introduction, the learning process and difficult project, how to solve,

  2. How to improve system availability, performance, scalability, flexibility, etc., LVS, reverse proxy, clustering, asynchronous, cache, etc.

  3. System design open, a ticket query system, for the shortest time, shortest overhead solved, train ticketing system similar to the 12306.

  4. Hundreds of millions of website traffic infrastructure and new technologies, which can refer to the book

 

Four:

  1. Self introduction

  2. Learning process, difficulties -

  3. Difference action synchronized keyword and static methods and general methods to concurrency control, monitorenter, monitorexit by different objects of the monitor

  4. Server CPU usage is high, how to troubleshoot, top positioning process, if it is Java, threading a snapshot analysis jstack, jmap, jhat and so on,

  5. Puzzles

  6. Pros and cons of red-black tree

  7. Dynamic proxy AOP

  1. HR side:

  1. Introduce yourself learning process

  2. Why did you choose to turn professional

  3. The project encountered difficulties,

  4. Understanding of the sector

  5. Personal career development, selected cities, career direction, there are no other companies offer

 

 

Here is their own little self-study and prepare for the interview process, I hope you can help others who change jobs.

 

This is roughly the following aspects to learn:

  • Computer Basics: meter network, OS, algorithms and data structures must be familiar with; composition principle, compiler theory, and so looked better

  • Language Basics: Some Java language features, multi-threaded, JVM

  • Database: basic concepts, SQL, database design, etc.

  • web basis: Servlet, JSP, HTTP protocol, Cookie, Session, etc. it is understood that you can use your own servlet to write a demo

  • web framework: SpringMVC, Spring, Mybatis, in practice, project learning, will be used first, then deeper. SpringCloud, SpringBoot etc. can also learn

  • Middleware: Redis, message queue can also look at these

  • Development tools: Maven, Git, etc.

  • System design: how to improve the system of concurrent ensure consideration of availability, scalability, extensibility, security these areas.

 

Themselves in roughly the above-mentioned process is learning, is not very planned, basically while studying modify their plans.

 

Interview preparation and reading books:

 

General advice or more than usual coding, more reading, more thinking, more summary, do not rely on face before the interview was concluded or interview questions this way back, because of the need to do a real understanding of a problem, know the solution program, not just back off the answer. Summary should face by themselves as a kind of leak filled quiz, rather than recite the exam, or the accumulation of effort in peacetime.

 

Reading little advice:

 

If you read a book at some stage not look at the time, might be their accumulated other areas is not enough, it may be to their own Jing Xiaxin go in-depth analysis, we need to determine what kind of feeling themselves. For example, I read the "Head First Java" just start to see the "Java programming ideas", it was very painful, most of them do not understand the incomprehensible.

 

But after after using Java coding to some extent, have some understanding of Java multi-threading, and then began to read "Java programming ideas" when it is much better than before. But looking at the "art of Java concurrent programming," we do not understand, we need to gnawing tough one, read on meditation. The most important feeling is to continue to practice, reading, watching blog, summary, constantly repeated. 

 

 

 

 

Reprinted: https: //mp.weixin.qq.com/s/MIgdbabIJrX64h0IWPEIHg

Guess you like

Origin www.cnblogs.com/hxun/p/11239481.html