我面的职位是 AT&T Software Engineer，他家在LA的office
我是 Purdue CS major (后两年是online的)
我有两个实习经历， 和2年全职 (因为我读书后两年是online的)
问了这些 knowledge based 的问题
- What technologies are you familiar with?
- Docker, AWS, Kubernetes, Mongo, MySQL, etc. etc.
- Specific questions about each technology
- What programming languages are you familiar with?
- Mainly discussed Java, C++, Golang, Node.js, as well as React and Angular
- Specific questions about the pros / cons of each language, quirks and trivia
- Architectural questions
- How do you handle scalability problems with limited hardware capacity?
- Talked about using CDN’s / caching, optimizing slowest parts of the software, and load balancing
问了 Best Time to Buy and Sell Stock (#121) 变种 - instead of stocks it was buckets of corn.
Problem: Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit. Note that you cannot sell a stock before you buy one.
Input : [7,1,5,3,6,4]
Output : 5
Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
Not 7-1 = 6, as selling price needs to be larger than buying price.
I initially found an O(n^2) solution and wrote it out on the whiteboard while discussing my thought process and talking with the other engineers. Eventually I was able to widdle this down to O(n), which the engineers seemed satisfied enough with.