For some personal reasons, we continued to participate in a number of school recruit recruitment, social recruitment of written and interview (BAT), also includes some foreign companies (Spotify, Google, Ericsson), and finally lucky to be netease income under the hands, got S. Here are some of my review of the main points, if you can use this as a reference, well prepared, domestic bat these companies of the basic technical test and interview should be no problem. Of course, for some large companies, the basic knowledge may not be the most important, the key is the ability to learn, independent problem-solving ability, is a "spiritual" people, I always feel that our programmers are creating a new world. Of course there are some technical old people, can also look at this, as a review point, restudying.
Java Common basic knowledge Pilot:
- Hashcode () and Equals (), understand the underlying principles, including the use of Hashcode (), their differences, how, when, and when to overwrite
- distinguishes between new string () and "" declared strings, string invariants, heap creation, when to create on stack, pass-by value when passing variables
- Comparable interface, comparator class, used for comparison, mainly used in collections, sorting, inserting, etc.
- Class initialization, variable initialization, static variables, static zones, constant zones, etc.
- The inheritance polymorphism needs to know that there are super, this, corresponding design patterns that may be involved
- Java internal class, there are several ways of declaring, there is no static difference
- Set, Collection,array. Set, list, queue the differences between these interfaces, set is not repeatable, ArrayList implementation and linkedlist implementation of the difference, HashMap, HashTable. Related to various efficiency issues, it is best to read the source code
- A collection of traversal methods and the use of iterator to traverse the difference between the collection can be modified, can delete one of the elements, and then size changes and so on.
- Java garbage collection, memory structure
- Types of exceptions
- Object class, which methods
- File reading, byte stream and character stream, stream concept, reader, stream etc; NIO (channel, buffer, selector)
Common multithreaded interview points for Java:
- Thread, start (), run ()
- Multiple threads inside the keyword, wait, notfiy, lock (synchronized), lock interface
- Thread state, context switch, daemon thread
- Several ways of realizing consumers and producers, advantages and disadvantages
- Inter-process communication
- Synchronization container class, the difference between concurrent container classes
- Several important data structures that need to be understood in detail, preferably seen in key codes, copyonwrite containers, Concurrenthashmap
- Use of semaphores, Countdownlatch, Cyclicbarrier and other classes
- There are some future frameworks and so on (this piece I also know not much)
interview points for Java Web orientation:
- Servlet init () service () post, get, etc method differences
- Redirect, request forwarding, cross-domain, whatever.
- HTTP each port number, return code
- Something Spring MVC Spring Web in the framework
something a bit more advanced in Java:
- Reflection mechanism
- Java class loading mechanism, four kinds of loaders, loading process, checking process
- Dependency Injection
- Spring Framework
- AOP-oriented tangent programming
interview points for data structure direction:
- Data structure, linear list, binary tree, complete binary balance tree, B + tree, representation of the graph.
- The first order, sequence, order, sequence traversal of the tree. Can be handwritten code, recursive and loop implementation. Use of stacks
- Sort commonly used sorting algorithms, selection, bubbling, fast row, heap sorting, merging and so on. Can write code, know the complexity of time and space, can do some code improvements.
- The difference between dynamic planning and divide-and-conquer, can be based on the question to think of this aspect, simple examples can be written out
- Algorithm of graph
- It is best to go to the Leetcode system on the brush, do not need to complete the brush, but the basic types are brushed, very helpful, code ability can also improve
Database interview points:
- MySQL database of several engines, the comparison between different databases
- Database blocking protocol, various read/write locks
- Database connection inside Java, driver, etc.
- SQL statements, Insert,select, truncate, drop, etc.
- Index, Federated Index, the merits of the self-increment primary key.
- NoSQL and MongoDB, the concept of redis, its recovery mechanism, two modes (memory snapshot and command Save)
Interview points for computer networks and operating systems:
- Congestion control, Network seven layer model, various layers of applications, TCP/UDP, Ip,dns, FTP. Examples of steps to visit a website
- Memory replacement algorithms inside the operating system, LRU, etc.
- Network security direction, data security, digital signature, etc.
Good website Introduction:Leetcode Brush algorithm problem of good place, but now more and more topics. It's more than 400. Simple Java a talk about Java interview often asked some points, misunderstandings and so on, suitable for basic primer with Ali Middleware Official blog has a lot of things on the framework and some practical work experience, can long knowledge and a lot of personal collection of the site, You can almost find it when you're searching for the above knowledge.
Goto: The big God raised the question of the Java server interview (as his learning goal usually more attention)