How did I interview in Silicon Valley?

Tram Ho

Written by Do Trong Nguyen


In the past, I often interviewed candidates, did test questions to test candidates’ abilities. But now it is time to board the board, become a candidate, let others check the goods. However, this time the checker is a Silicon Valley company.

The customer is a billion-dollar unicorn in Silicon Valley, the position to be recruited is Back End engineer, the programming language is Java. It is known that the interview will consist of 3 rounds. Round 1 of the test, round 2 communication skill test, leader ship ability, knowledge of process Scrum, round 3 check technical knowledge, design and problem solving capabilities.

Because there were a few youths who were always from the parking lot, I decided to try it, as an opportunity to learn and challenge myself.

In the past few years, I have not touched Java, mainly doing DevOps array, Blockchain all python code, main nodeJS. The Java cert professional exam finished, so it took a few days to review it, just like a college exam

Round 1 takes the Test

The Test lesson is a list of questions about Java programming, SQL, and algorithms that require answering in the form of essay eg

  • Show the difference between StringBuilder and StringBuffer
  • If the table in the database uses too many indexes, how do you handle it?
  • Handling Garbage Collector in Java
  • Java collision object
  • Volatile cpu cache and main memory problems
  • SQL query but slow check first

In fact, I have found that the Test is not so difficult, if there is a relatively good knowledge of Java, SQL database can pass. For example, StringBuilder and StringBuffer, the most obvious difference is that StringBuffer is thread safe and synchronized and StringBuilder is not

Anyway, the round of cars is passed

Round 2 interview for leadership

Round 2 of the goal is to test the ability of communication, leadership, and how to handle situations. Online interview form via Google Hangout. Well, from time to time all coding, have you ever worked as a manager, but just tried to check out GG, which is available in the interview questions, and is up to you

The interviewer is a British doctor, senior manager, and through communication, he realizes that he is not a tech expert but more in management. Luckily, the English, so the pronunciation is quite standard, there is no problem in listening comprehension

Trying to be familiar with the interview questions in the series, but at the time of the interview, the winner was the only Scrum process, Extreme programming questions (describing the workflow, Scrum terms like restros, grooming) …) the questions are quite random like

  1. If your opinion is opposed by the team, how do you do it?
  2. If you have to recruit 1 candidate for the team, what criteria do you give?
  3. The project is in the critical situation, how is it handled?

Basically these questions require the ability to stow the deer, the improvisation of the candidate, if the answer is hesitant, frantically is determined.

Fortunately, since the war has been fought for many years, it also meets many similar situations, so basic also passes well.

Maybe you are interested

Top 10 common Java interview questions

Interview questions about React: Component or element is rendered in browser?

Round 3 of technical interviews

This is the decision round. In this round, candidates will have to answer technical knowledge test questions, write programming code to handle certain algorithms on Google Doc. The interviewer will observe how candidates write code to evaluate competency. It is similar to writing code on a white board, run and debug with trust.

The interviewer is a Director of Software engineering in India, speaks English stamping like sewing machine, sloppy voice, sounds true is miserable, watching his CV LinkedIn is a little over, with over 20 years of multi-threaded programming experience , specializing in machine learning, extensive experience working with concurrency primitives such as atomic reference, read write lock, countdownlatch. He also builds a social network of several hundred thousand users every day.

Seeing the information this time was about to meet the last boss Thanos, but just closed his eyes and gave it to him.

After the greeting, introducing yourself, start the code

Write descriptive code for singleton class

Happy as catch gold, this item is code all the time. Then mouth code, experience is absolutely not silent sitting code, need to present the idea first and then the code, the code to the line to present that line

He finished watching the smile “This is right for singleton”. Oh, I want to ask the multithreaded location, this single thread code is OK, I have multi-thread, then I want to edit the code.
There are 2 ways to add synchronized to method

Or the lazy type as below

Then, OK, after some questions such as removing synchronized at method with different code block … more latching tools
Is there any case where Singleton creates many instances?
No, I don’t
Yes, explain why go
It is too vague, stretchy, confuse, the purpose of Singleton is to create an object, why it is so instance. Or is the instrument trying to trap me ?. After a bit of biting, the lips were locked
If creating multiple instances is no longer Singleton. Really no
Verdict: Stop next to the second sentence, write code to handle the algorithm
Lesson 1:
Write the reverse code for the array of character arrays, which requires the most optimize, and forbid playing notes for looping the entire array
Yes, it is possible to use the algorithm to swap the first element with the opposite being reversible.
After that, I scoured the pile for a while and finished

What is the algorithm complexity, how to play for-loop the whole array?
Yes O (n / 2) because I have a half array, and the other one goes through the whole array so O (n)
Then go to lesson 2
For positive integer n, find the number of ways to divide n into 5 smaller positive numbers so that it is still n
For example, n = 5 then output 1 because there is only 1 case (1, 1, 1, 1, 1)
But, for these students, CodeWar students do it, I’m sad, I’m old and slow
After a while, I also thought of a brute force style, 5 iterations of each order to get results, there must be many better ways but it is too mysterious.
In fact, in just a few minutes to think about solutions and write code, plus 1 he is still looking at his code, then choose quick dirty solutions but still work more than there are no solutions

5 loops so the complexity is O (n ^ 5)
How to optimize more than no ku, I repeat too much
My dear, I’m stuck
OK, finish coding, go to Design questions
You have the system and the amount of read data accounts for 99% of data writing 1℅, which one is the data
I think that using ArrayList is fine, because ArrayList uses index, faster access speed but LinkedList type only matches write data
Well, this system uses Multi-thread, why is ku
Vector game because it thread safed
Does vector have throughtput?
Oh, dek mía, what is throughtput, I haven’t heard it before, how good it is to have a GG here.
So I used HashTable, because HashTable was a thread-safed.
Okay, but I want to use List

Crying out of the sound, it was very tight, now every GG would know

Then, the last sentence, do you have a service expose API for the client, if you use GET api call service via HTTPS, do you feel secure?

Fortunately, this sentence is known, according to me, data parameters in GET URL will be encrypted in HTTPs so if the hacker has captured the data, it will not be viewable. However, some servers may store logs containing data parameters in GET requests on plan-text format, so it is recommended not to use GET with sensitive data.

After finishing the interview, I need to ask something to ask quickly, I still go to sleep

The interview ended
The following day received the results of the interview: Not Good, no


After the interview, I realized that knowledge is really vast, my level is too young compared to Silicon Valley engineer. Even a programming language like Java, almost every dev Vietnam youth knows, but to fully understand, deep understanding is nearly impossible. Especially the type of technology outsourcing is also a little, unsteady has to go to another.
Share the news now

Source : Giaoaucan