4 US group faces intern Java Kong, has to take the offer! (Frame + the set of multithreaded + + JVM)

US group technical side

1, self-introduction

He said many times, very smooth finish picking up highlights.

2, data structures, algorithms ask me, OK

Very good (in fact, the heart is still a bit empty, but recently a lot of brush can only be bold enough to question the charge and fat)

3, to find a single list of three equal points, if there is a single chain ring it

With speed indicator, a step, a walk three steps. If there is a ring, where the ring is determined to find the last node, and acyclic practice before use

4, talk about the structure of the project

I highlight some MVC

5, talk about your familiar design patterns

I highlight some single cases, the factory method, proxy

5, there is no-configured server Sha Sha Sha

This I really do not know, never heard of it, can only be honest and say no, after all, had not even pull.

Side quite a hurry, I guess just finished the interviewer will not eat it. He said let me wait, I could find a colleague face, might tell me the results. From the side of the interviewer's voice and tone, I judge he must be a sector leader, asked the high side of design, hr later told me that he is my boss going to the department. Haha.

v2-db1ef3a59156ed1612a577d2aebdfcae_hd.png

US technology group two faces

Compared with the one side, the two faces of the interviewer sounds like engage in technology development, and sure enough, an hour's purely technical phone interview! Special round face!

1, Spring: there is Spring, Spring IOC, AOP and implementation mechanisms have not used, Spring MVC

In fact, I quite did not want details of Spring was asked, I did not review the framework of these do not remember. So I said to the interviewer some of the more important mechanisms inside the Spring I understand well, then I use a practical example to me of the IOC, AOP understand talked about, he said after listening to and understanding of good (rare encounter to a side edge of the interview the interviewer to give feedback, good fun)

2, multi-threading: how to achieve thread-safe, various implementations What is the difference, using the volatile keyword, reentrant lock understanding, Synchronized is not reentrant lock

Here I mainly talk about the Synchronized keyword, as well as some of the following contract and locks, as well as their advantages and disadvantages and differences. I mainly from the volatile keyword visibility, and the prohibition of atomic JVM instruction reordering three speak, tell me a bit JVM instruction is prohibited to use the volatile keyword optimization rearrangement in multithreaded singleton double-check in .

3, collection: HashMap underlying implementation, how to achieve HashMap thread-safe

I talked about the underlying HashMap is an array plus a single linked list implementation, Node inner class, add the process, Hash conflict resolution, expansion of the three collection view. HashMap thread-safe implementation mainly about the HashTable, ConcurrentHashMap and static methods SynchronizedMap Collections of HashMap can be encapsulated. And the difference between these three methods, efficiency performance.

4, JVM memory management, the GC method, the HotSpot inside the garbage collector, the class loader

JVM memory is divided into five areas, which are shared by the threads, which are thread-exclusive, what each storage area. GC aspects: how to determine which objects need to be GC, GC method, Minor GC and Full GC. HotSpot GC algorithm and a payback period of seven kinds of garbage, mainly about the CMS and G1 collector. Load class: class loading process, Bootstrap classloader-ExtClassloader-AppClassloader, parent delegation mechanism.

5, the difference between process and thread

From scheduling, concurrency, have the resources and overhead four answers.

6, HTTP there is no state, I said no state, how to solve the HTTP stateless how to solve the HTTP stateless session tracking how in fact, there are four ways: URL rewriting, hidden form fields, Cookie, Session.

7, in Java IO, NIO, Java has no asynchronous IO

Java IO implementation is synchronous blocking, it is how to synchronize obstruction. I took a read () method, for example in terms of. NIO implementation is synchronous non-blocking, I spoke in detail about the Selector in select () method polls explain how it is implemented multiplexing IO's. Then compared what their efficiency. The interviewer may look at me a better understanding of this one, and continue to ask me, there is no Java asynchronous IO, I do not feel like, but the interviewer said there, I think, in fact, here I do not know you, so I the interviewer talked about my understanding of Unix asynchronous IO model, then there is no say as to Java I really do not know. (He actually smiled! Say your understanding is correct, Java, there are no unimportant! Haha)

8, the front end will not, what Ajax is, Ajax implementation principle

I'll just use some front-end js only, used jquery framework, Ajax stands for what I ask, my guess is asynchronous js and xml. Ajax implementation principle in fact, I do not know, I simply talked about it through the XMLHttpRequest object for asynchronous queries, Ajax engine running on the client, reducing server workload.

9, let me design a thread pool

Because I have written my resume for multithreading, concurrent understand this one better. So his old problems in this regard. Because I've seen this problem before ThreadPoolExecutor source code, so I modeled the kind of design ideas to think, talk in detail about the core of the pool, creating a thread factory method pattern can be designed, state of the thread pool, blocking queue, rejection policy in these areas. Design fairly comprehensive.

10, say a few design patterns, which used the place, why should

Singleton pattern, the JDK getRuntime (); factory method model, ThreadPoolExcutor use a ThreadFactory; observer mode: java.util Observable packet following and Observer. Finally mainly we talked about the usage scenarios factory method pattern.

11, Mysql optimization, index implementation

My database query optimization and design optimization from both speak of. B + tree index to achieve, and to realize the difference between InnoDB MyISAM primary key index, an aggregate a non-clustered.

12, the transaction isolation level

The four isolation levels, which may appear abnormal, mysql the default level.

13, has never used Hibernate, mybatis, git

This simple talk about like, are doing

14、Linux

I say that this science too, but for a long time useless, forgotten the command. He said nothing, you test a few simple: cd, ls, dir (really simple)

15, the algorithm problem

1, from 100,000 to find the smallest number of 10, the time complexity analysis (maximum heap, consider memory) 2, from a positive maximum and the time complexity analysis to find negative group of successive subarray (dynamic programming ) 3, full binary number of i-th layer nodes full binary n-layer total number of nodes

I finally to a Q & A session

1, what is your department (he said that the core sector, big data research and development)

2, I was quite interested in high concurrency and load balancing, but I usually do not have this environment at school so I have experience in this area, I recommend that you can now learn how it (he says it really is not very studious , only to see someone else's blog and some theoretical future work in order to learn slowly)

3, middleware specifically what to do, is to address the high concurrency and load balancing it (he almost said yes, then he said that our department is not middleware, big data sector ah, I said, Yeah, I know)

Finally, nothing issue, and he let me keep the phone open.

That all things finished, dry mouth, I once suspected that he might not know I was an intern candidates positions. There are too many to summarize, and say it together on summing up place.

v2-63ba67d9720b9fb78f35ad42ac19588b_hd.png

US technology group on three sides

The interviewer said that he is another sector, the need for cross-interview.

1, MySql optimization

2, said that under the project done, like architecture

3, on collabedit online writing code, the title is quite simple beauty of the original title of the program, an ordered array of integers, the output of two numbers, so that their sum is a given value. Before done quickly written, and then told him ideas. He continued to ask if the array disorderly how to do, the first order.

4, two files, each file has a number of url, find the same url two files (with the HashMap)

This side very simple, just add online before the interview have not had to write code part, collabedit then I understood that, like facebook internet companies remote interviews will use this online editor to write code, is a text document to write, without prompting, not compile run, with a whiteboard to write the same. Practice your hand like in peacetime.
Welcome to the concern I kind of public-ho [programmers] marks the beginning of the article will be updated on the inside, documentation will be on the inside.

v2-8d316e3c139634350973b1e327304ee7_hd.png

US Mission HR technology on all sides

Three sides interviewer that he that is the final side, I had to say and so hr contact me. Never expected hr face after half an hour actually is technology.

1, self-introduction, are also surrounded by a self-introduction? ! I thought it was a simple hr face, so the introduction of all aspects of my personality and life, the result is not.

2, Q project, asked particularly special thin, technical details, there are any problems, how to solve, there is no one to do the project with, how to communicate with others.

3, database optimization, if a database table is particularly large database optimization how do I have to say before say that a lot of points, he asked how to do a particularly large table: a large table in small table, how to achieve: use the partition table

4, asked graduate research topic, why they chose this topic, read some of what papers (fine papers to those who ask me what is published in the journal, the authors of which are school), why should we vote this algorithm, how to optimize the , how results compare with others, why better than someone else's algorithm (a problem continues to hit over, I guess I said that he should not understand professional terms, but I do not determine what is in it ..)

5. Determination of practice time on this side does make me feel oppressive, undergraduate project is done, quite a long time, some of the technical details did not take too summary, so I can only ask the fine even want to take knitting, hey. Scientific research is just fine, in the last semester to get this, implementation, and improvement of some of the algorithms, comparing all remember more clearly, the answer is quite smooth, and perhaps this really is technology-hr noodle bar.

At last

Welcome to share with everyone, like I remember the article I focus a point like yo, thanks for the support!


Guess you like

Origin blog.51cto.com/14442094/2440441