In April 2018, Ali's latest java programmer interview questions are for reference only.

content

  1. Technical side (23 questions)

  2. Two sides of technology (3 large pieces)

  3. Performance optimization (21 points)

  4. Project combat (34 pieces)

  5. JAVA direction technical inspection points (15 points)

  6. Questions that may be asked in a JAVA development technical interview (17 questions)

 

 

Ali technical interview 1

 

1. The hierarchy of Java IO streams?

2. Please name the commonly used exception types?

3. What is the full name of SKU, and the difference and relationship between SKU and SPU?

4. After the FileInputStream is used, it does not close the stream. What can I do if I want to use it again?

5. Design a step-by-step login system?

6. Spring loading process?

7. Have you ever written an AOP transaction like Spring?

8. Syntactic sugar for try..catch to close a stream in Java?

9. How to design a spike system? What to consider?

10. Have you encountered online GC, what are the symptoms and how to solve it?

11spring's loading process?

12. What is the difference between atomic and volatile?

13. What is the difference between Thread's notify and notifyAll?

14. Notifiy is the thread that wakes up?

15. Does Thread.sleep need to re-compete after waking up?

16. How many ways to write a singleton? What is the difference? Which singleton do you usually use and why do you use this?

17. Ask a Thread.join related question?

18. How to design the data model for the commodity-related module system?

19. Write a JAVA deadlock example?

20. How to solve deadlock?

21. GC recovery algorithm, and its implementation principle?

22. HashMap data storage structure? What should I do if the key is repeated? How to solve it?

23. What is the implementation principle of Spring AOP and what is the bottom layer used for?


Ali technical interview 2

 

The phone interview mainly examines 3 parts:

  1. Basic knowledge of Java, principles of open source frameworks, JVM, multithreading, high concurrency, middleware, etc.;

  2. Previous project experience, technologies used, problems encountered, how to solve them, and what personal gains and growth have been obtained;

  3. Enthusiasm for technology (whether you usually read some technical books, visit forums, write blogs, write source code or programs, etc.);

Questions that may be asked in a Java development technical interview?

  1. Our main assessment is the high concurrency big data of the network nio distributed database

  2. Implementation of custom form?

  3. Dynamic form design?

  4. In-jvm (required) and how to tune the jmm cache model?

  5. Commonly used RPC frameworks

  6. nio sum io

  7. Concurrent programming, design patterns

  8. map component?

  9. Is there any loophole in hashmap that will cause him to slow down?

  10. How to design the hashcode for the key object of the hashmap?

  11. Generic wildcards? When to use them?

  12. Back-end: redis? Distributed framework dubbo (Alibaba open source framework)? Design pattern?

  13. Scenario-based questions: spike, can you list the impact of common queuing, verification codes, and inventory deduction methods on the high concurrency of the system?

  14. Can build a cache structure according to actual needs to improve the access speed of the website, proficient in using ehcache, oscache, and understand memcache.

  15. Understand load balancing based on dns polling, proficient in configuring web servers to achieve load balancing, and program-level can comprehensively use hash-based or modulo-based methods to achieve soft load.

  16. Familiar with distributed database design and optimization technology, proficient in mainstream databases such as mysql, oracle, SqlServer, familiar with hadoop hbase mangodb redis ehcache, oscache memcache. For the database processing of large amount of data, the performance is optimized by means of sub-table and sub-database, database read-write separation, and establishment of cache.

  17. Proficiency in lucene, able to develop a large-scale search engine based on lucene, and use lucene to improve and optimize database-like queries.


JAVA direction technical inspection points (supplement):

 

  • Master the Java programming language, including the use of functions such as io/nio/socket/multi threads/collection/concurrency;

  • Proficient in jvm (sun hotspot and ibm j9) memory model, GC garbage collection tuning and other skills;

  • Proficient in JVM, JMM, MVC architecture, skilled use of struts2.

  • Proficient in using spring, struts, ibatis to build application systems.

  • Proficient in the use of front-end technologies such as Servlet, jsp, freemark, etc.

  • Proficiency in using axis to build WebService service interface based on SOAP protocol.

  • Proficient in using MAVEN to build project engineering.

  • Proficient in using web services such as tomcat.

  • Proficient in using relational databases such as mysql, familiar with mysql cluster construction.

  • Proficient in using NOSQL technologies such as redis.

  • Familiar with tcp and http protocols.

  • Familiar with nginx, haproxy and other configurations.

  • Familiar with javascript, ajax and other technologies.

  • Familiar with the mainstream distributed file system FastDFS, etc.

  • Familiar with JMS, can use ActiveMQ proficiently.

      The underlying computer understands memory management/data mining systems

  • How to understand reliability and availability~

  • Comparison of jsp and sever lap

  • Database to interface, character set conversion

  • base stack

  • If the jvm optimizes the high CPU, if it analyzes and monitors

  • java curb highlights detail issues

  • How distributed cache documents are distributed

  • Migration database vertical split

  • How to deal with high-concurrency front-end high-concurrency application layer

  • LB design load balance

  • load balancing

  • Anti-Network Attack

  • Notification after data log event monitoring

  • The underlying mechanism of database transaction implementation

  • Network attack on string space input

  • The underlying principle of the Quartz framework

  • In database synchronization, data is synchronized without reading logs directly through the database engine.

Ali interview questions

  1. Binary tree traversal methods, preorder, inorder, postorder and level order

  2. volatile keyword

  3. synchronized

  4. concurrentHashMap

  5. Lock optimization strategy

  6. operating system

Project section

  • The use of cache, if you need to implement a simple cache now for the ajax asynchronous request call in the search box, what structure should be used?

  • The cache in memory cannot exist all the time. What algorithm is used to periodically remove entries with lower search weights?

  • How TCP guarantees security

  • The problem of red-black trees, B+ number

  • The enhancement of HashMap in JDK1.8, if there are too many nodes on a bucket, the structure of linked list + array will be converted into a red-black tree.

  • The stand-alone server used in the project, if it is deployed as a distributed server?

  • MySQL's common optimization method, designated as slow query

  • Write a thread-safe singleton pattern

  • Entering Ali must know:

  • Algorithms and data structures Various operations on arrays, linked lists, binary trees, queues, stacks (performance, scenarios)

  • Binary Search and Variations of Binary Search

  • Various sorting algorithms and complexity analysis (quick sort, merge, heap)

  • All kinds of algorithm problems (handwritten)

  • Understand and can analyze time and space complexity.

  • Dynamic programming (return to the written test...), greed.

  • Red-black tree, AVL tree, Hash tree, Tire tree, B tree, B+ tree.

  • Graph algorithm (less, just understand the two shortest path algorithms)

  • The protocol of each layer of the computer network OSI7 layer model (TCP4 layer)

  • The process of url to page

  • HTTPhttp/https 1.0、1.1、2.0

  • get/post and idempotency

  • http protocol header related

  • Cyber ​​attacks (CSRF, XSS)

  • TCP/IP handshake three times, wave four times

  • Congestion Control (Process, Threshold)

  • Flow Control and Sliding Window

  • Comparing TCP and UDP

  • Subnet division (generally only in written test)

  • DDos attack

  • (B) Principles of IO/NIO/AIO, how are each language implemented

  • Netty

  • Linux kernel select poll epoll

  • Database (mostly mysql, Nosql has redis) index (including classification and optimization methods, failure conditions, underlying structure)

  • sql syntax (join, union, subquery, having, group by)

  • Engine comparison (InnoDB, MyISAM)

  • Database locks (row locks, table locks, page-level locks, intent locks, read locks, write locks, pessimistic locks, optimistic locks, and lock select sql methods)

  • Isolation level, problems solved in order (dirty read, non-repeatable read, phantom read)

  • ACID of the transaction

  • B tree, B+ tree

  • Optimization (explain, slow query, show profile)

  • Database paradigm.

  • Sub-database sub-table, master-slave replication, read-write separation.

  • Nosql related (the difference between redis and memcached, if you are familiar with redis, redis has a bunch of questions to ask)

  • Operating system: process communication IPC (several ways), different from threads

  • Several strategies of the OS (page replacement, process scheduling, etc., each with several algorithms)

  • Mutual exclusion and deadlock related

  • Linux common commands (when asked, they will give a specific scene)

  • Linux kernel related (select, poll, epoll)

  • Programming language (only Java is mentioned here): After going through my later face, Java feels almost covered, but the following is still divided into categories.

  • Java basics (object-oriented, four features, overloaded rewriting, static and final, and many other things)

  • Collection (HashMap, ConcurrentHashMap, various Lists, it is best to look at the source code)

  • Concurrency and multithreading (thread pool, SYNC and Lock lock mechanism, thread communication, volatile, ThreadLocal, CyclicBarrier, Atom package, CountDownLatch, AQS, CAS principle, etc.)

  • JVM (memory model, GC garbage collection, including generation, GC algorithms, collectors, class loading and parent delegation, JVM tuning, memory leaks and memory overflows)

  • IO/NIO related

  • Reflection and proxy, exception, Java8 related, serialization

  • Design mode (commonly used, in jdk)

  • Web相关(servlet、cookie/session、Spring)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325519058&siteId=291194637