亚麻实习

目前是 Sophomore, BS CS School in Bay Area
地点是 San Jose, CA

Interview process:
OA1:

debugging and logical questions (straightforward but time goes by really fast so manage it well!) OA2*:

amazon fulfillment center, find two boxes whose weight is less or equal to maximum weight
Classic combinatorial optimization, a variant to the knapsack problem.

amazon data center, round-robin style access, find average waiting time of all clients
This problem was very hard in the sense that there were a lot of things one needs to keep track of when crafting a solution. You need a crystal clear understanding of the problem and plan your solution meticulously.

*Rumors say that if you did exceptionally well in OA2 they will skip the last round of interview and give you an offer

1-on-1 video interview [45min]:

Behavioral:

Introduce yourself Tell me about a project you’ve worked on with a tight time frame and how you got it done on time General software engineering knowledge: What is the difference between an array and linked list? What is a foreign key in database? What is TCP? How is reliable data transmission implemented?

Technical:

1 Find the nth Fibonacci number

I bombed this question because I tried to recall an optimal bottom-up solution but was blanking out on the details of it. After being stuck for about 10 minutes I had to go back to the basic recursive solution, talked about optimization with memoization but ran out of time to actually implement it. I was sure that this left a bad impression; it showed the interviewer that I was unorganized and hasty by trying to jump to code without thinking through my solution first.

2 Check if a string is palindrome

Straightforward. Make sure you can go beyond the solution using something like reverse()

Tips: 不要假装知道你实际上不懂的东西. Never, ever try to come up with an optimal solution upfront without being 100% sure how it works and how to explain it. Start by talking about a naive solution and build it up elegantly to better solutions.