Recently, when I was interning Boss Contact me , Said he jumped to Ali , Ask me if I would like to meet one Java Background development post .

Considering that I only worked for one year , Going to Ali now will definitely reduce your salary , So there's not much will . But from the perspective of self-improvement , Took part in the interview .

<> one side ( Telephone interview for one hour )

Let's start with a brief self introduction , Mainly including school experience and work experience . I have only one year's work experience , Most of the time I'm doing product design and UI/UX
Design, So you can feel the interviewer on the phone shock.

Java Basics . How to realize the automatic disassembling box ,String,StringBuffer,StringBuilder Similarities and differences and their realization .

JVM Basics .JVM Memory model of , Common garbage collection algorithms .

affair ACID, How to guarantee transactions in programming , How to guarantee transaction in distributed situation .

I haven't been exposed to distributed scenarios , So the interviewer always induced me to design and implement a distributed transaction .

Optimistic lock and pessimistic lock of database . How to realize an optimistic lock .

Message queuing usage scenario ,Kafka Structure and principle of .

What is? restful api, and rpc What's the difference between calls .

Several ways to write a single example .volatile What is the function of keywords .

These are the general questions of telephone interview , After the interview , Three more algorithmic questions , Ask me to finish it in an hour , Here are three algorithms :

*
Flip one long Type number . For example, input 123456L, output 654321L.- Leetcode Flip integer Varieties of . Investigate whether overflow can be handled correctly .

*
Enter a double, Ask to return the closest .49 or .99 The number of . for example 12.77 return 12.99,11.02 return 10.99,12.61 return 12.49.

*
There are three threads ABC Write to an array separately a,l,i, The final write result is required as follows alialiali… Number of writes by A Thread decision .

These three questions are well done , The interviewer contacted me the next day to elaborate on the first and third questions , Then inform me that I can take part in the next round .

<> Biplane ( Telephone interview for one hour )

On the other hand, it mainly investigates some open-ended problems .

First of all, introduce yourself . Mainly after work experience . Introduce the work of one year team Products of , What responsibilities have I undertaken .

Open questions . How to design a rpc frame .

Open questions . How to design a service registry .

Collection class source code .HashMap How is it realized , Expansion process , Why expand to 2 times .HashMap Can I replace the list in with an array ? Is the time complexity the same ?

Collection class source code . Thread safe HashMap What is it? ?(HashTable and ConcurrentHashMap)ConcurrentHashMap How is it realized ?(Java7 Segmented lock and Java8 Of CAS+Lock) and HashTable What are the advantages over ?
Structure of Mangrove , What is the time complexity , How to calculate .

What is? CAS operation , How to implement a custom lock

Database design . There's a big one order surface , How to design to improve query efficiency ( At the same time, according to the buyer id And the seller id query )?

It's about an hour on both sides , The interview went well .

ps. After one or two interviews, the interviewer gave all kinds of hints about whether I could accept the crazy overtime work blabla……

<> Three sides ( Telephone interview for an hour and a half )

The third day after the end of the second side , I received three notices from the scene .

Three sides is a big Boss, So the interview questions are more about the ability to analyze problems .

What did you learn in a year's work ? What is the architecture of the project ?UI/UX What are the design specifications ( Because I said I learned something UI/UX Design method , So the interviewer asked )?
Data isolation level , Visceral reading and unreal reading .

Thread pool principle .

Synchronized Implementation of , Lock upgrade process .

K8s The role of ,K8s The underlying architecture of .

I introduced some projects I did in my spare time .

What do you think you can bring to Ali ?

You need to endure a lot of difficulties to enter Ali , Need to face the difficulties , If the performance evaluation gets bad evaluation , What would you do ?

In general, the three aspects are smooth , The interviewer is kind .

<> summary

The whole process lasted from one side to three sides 10 About days . in general , It's all within expectations , Although some distributed related questions were asked during the interview , I don't have any experience , Don't give up at this time , Take the initiative to say what you think , And then under the guidance of the interviewer , I believe you can say the answer .

last , It's some interviews I summed up Java The knowledge that the backstage engineer must master .

* Collection class source code
ArrayList: Internal data structure , Array expansion mechanism

LinkedList: Internal data structure , Why use double linked list

HashMap: Internal data structure ,put Complete process of the method , Capacity expansion mechanism

LikedHashMap: Internal data structure , How to implement a Cache

TreeMap: Internal data structure , Time complexity

CurrentHashMap: Internal data structure ,Java7 Segmented lock ,Java8 CAS+Synchronized

* Java Basics
Principle of automatic disassembly and assembly box

String,StringBuffer and StringBuilder

Throwable

reader and stream

NIO

* JVM Basics
JVM Memory model

Common garbage collection algorithms

* Fundamentals of concurrent programming
Synchronized Key words principle

wait,notify,sleep

Safe thread termination and thread state transition

custom Lock

Thread pool principle

5. Database foundation

Three paradigms of database , affair ACID, Isolation level , view , Indexes

JPA Entity status

EntityManger

* Network foundation
TCP/IP

* Common design patterns
Decorator , Template method , strategy , factory , state

Technology
©2019-2020 Toolsou All rights reserved,
Gude Haowen serial - You deserve to be an engineer ( Preface ) A single key controls multiple water lamp states Bitcoin in ten years ,VDS Opportunity or fraud CSS architecture design Programmer Tanabata Valentine's Day confession code Python+OpenCV Detailed explanation of face recognition technology Bug Can data be used as the basis of technical personnel assessment KPI?Jsp+Ajax+Servlet+Mysql Add, delete, modify and query ( one ) Thorough explanation from Zhongtai Unity Scene loading asynchronously ( Implementation of loading interface )