# AT&T 过经

• 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

### 白板部分

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.

Example :
Input : [7,1,5,3,6,4]
Output : 5
Explanation :
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.