Interview must see! Ali's latest java programmer interview questions in April 2018

content

Technical side (23 questions)

Two sides of technology (3 large pieces)

Performance optimization (21 points)

Project combat (34 pieces)

JAVA direction technical inspection points (15 points)

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:

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

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

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?

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

Implementation of custom form?

Dynamic form design?

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

Commonly used RPC frameworks

nio sum io

Concurrent programming, design patterns

map component?

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

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

Generic wildcards? When to use them?

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

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?

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.

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.

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.

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.

 
底层计算机理解内存管理/数据挖掘系统12

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

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

volatile keyword

synchronized

concurrentHashMap

Lock optimization strategy

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)

I have recorded the answers to the above interview questions. If you are interested, you can join the group: 697579751 to get it for free. I hope to be able to do your best in the interview process that you are about to deal with.

Guess you like

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