Interview Info:
A Moliu 985 undergraduate, master a C9, are software engineering, science is very general, there is no internship experience, no experience of project (only in the school curriculum design large projects, also uses some distributed components and frameworks), but self feeling encoding capabilities okay.
Interview Related Information:
February 17, resume, interview about February 20, about February 24 side; call about February 27, dihedral, about March 3rd. March 4 hr call chatted some cases. Then made offer. (The interview process is very slow, fat offer quite fast)
First face:
1. Algorithm: fast row
About 5 minutes
2. algorithm: the preamble binary tree traversal non-recursive
She did not carefully look at the subject, wrote a recursive (1 minute), then the interviewer embarrassed smile, I quickly changed to a non-recursive
3. Algorithms: The binary tree traversal non-recursive sequence
Probably said it, did not let me write
Algorithm 4: Find the longest continuously increasing array of columns, such as: 4, 200, 3, 1, 100, 2. The result is 1234, that order may be disrupted.
The interviewer asked this question before I learned never learned dynamic programming, I said that the question of when his brush learned, was afraid he's out too hard, I say only do simple, then he out of this problem.
My idea is to sort, and front to back, if (array [i] -array [i-1] == 1) then dp [i] = dp [i-1] +1; else dp [i] = 1. To be honest, I feel this question just finished sequence of dynamic programming no relationship ......
He asked me complexity, I said nlogn it, had to wait a sequence. He said too much, let me like way. I said, to find a very large array, all the numbers are in value of the subscript on the array, and then traverse from front to back, find the longest continuous, as this question a [4] = 1, a [ 200] = 1, a [3] = 1, a [1] = 1 ...... but such a large space complexity. The idea is to use the interviewer a hashtable, hash to 4 when see hash (3) and the hash (5) exists like this idea
5.socket programming and netty
will not
6.http three-way handshake, the server information if the client makes the third time did not receive how to do?
7. What operating system scheduling?
8. If you could achieve by priority preemptive scheduling, how would you achieve? There are 0-15 priority, 0 is the highest priority
My answer is that the root of all tasks in a small pile, top of the heap is the highest nature of the current mandate of the task queue priority, you can come up with. The interviewer can say with sixteen task queue, each time out of the box from the highest priority task queue head
How 9.java of hashmap implementation?
My first answer what hash conflict is, what solution (zipper, linear probing, probing the square, and then hash), then say java is an array of linked lists hanging below + implementation, unhesitatingly said something: reality in many places all zippers law, such as the redis hashtable is to do so. Then he began a ten minutes redis link
10.redis basic data types and how to achieve it
11.redis three clusters
I'm talking about a lot of long, how to configure, pit encountered, there bind_ip What does it mean (monitor card instead of an external machine to access the ip), slot cluster mode, online migration of data reshard, decentralized design reasons
12. If you could load balancing redis you how
hash, consistency hash, plus a proxy server
What 13.redis communication protocol is?
gossip
14. The said several commonly used linux commands
15.mysql index structure? Why B-tree?
16. puzzles, pirate gold points.
Not initially, he later suggested that I would like from the back, if only two people what will happen, if only three? ...... A last out
The second surface:
1. Algorithm: rainwater (leetcode 42)
About 15 minutes, run five use cases. Then the interviewer said: ah, let a little difficult ...
2. Algorithms: There is an IP address database, assuming that there are hundreds of thousands of ip, how to determine whether an ip address in this library?
At first I thought it was a design problem, the result is an algorithm. Mongolia ... do not know what that means, and the interviewer pulled ten minutes still do not know what that means. I said a middle, or change questions, and I really do not know how to do, but the interviewer still guide me, I will not, no way, finally simplifying a lot, made out, the idea is binary search It variants, but the storage array into an ordered List object.
How to achieve 3.https
Symmetric encryption asymmetric encryption +
4. The user mode and kernel mode
The class load
6.mybatis advantages and disadvantages
The advantage is flexible and easy to use, do not know the shortcomings
7. overloading and rewrite the difference
8.get and post difference
I only comes in a url visible, the other invisible, often used to send large amounts of data. Later checked, it seems far more than that simple
9. Do you have any good places?
I do not know ... almost feels (mind skipped a lot, spring family, mysql, can not say good), redis? "Redis side of the interviewer reflect your good, I will not ask."
10. ask questions, end
The greatest feeling: these two months most of all white reviewed ......
Feeling beat bytes are valued basic computer knowledge disciplines, as well as algorithms. Spring family on their resumes, micro-services, message queues, design patterns, as well as project-related, which one did not even ask me. Even JAVA both sides add up to only ask three questions
Finally, I would like to ask why are the faces seen on three sides, how I have only two sides? ? ? Back-end development platform for developers of this post is doing?
Special Note: This article material from the network, only to share learning, if infringement, please contact deleted!