AT&T | Software Engineer | Los Angeles | August 2019 [Offer]

AT&T: Software Engineer

Los Angeles (August 2019)


Status: High school graduate (no college degree)
Experience: 2 summer internships, 2 years full-time experience
Position: Software Engineer at AT&T
Location: Los Angeles, CA
Date: July 2019


The interview process was streamlined and professional. I met with a woman outside the AT&T corporate office who led me upstairs to the 10th floor where the interview was held.

I entered a room with 3 software engineers sitting at the table. After the brief introduction and small talk, we moved onto technical questions. Here are some of the things I was asked:

  • 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

The Whiteboard Part

It's Leetcode, so of course I'm going to talk about the whiteboard part of the interview! :)
I was asked a variation of Best Time to Buy and Sell Stock (#121), except instead of stocks it was buckets of corn.

Link: https://leetcode.com/problems/best-time-to-buy-and-sell-stock

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.

Final thoughts

I would describe the overall interview experience with AT&T as professional and efficient. I had one behavioral & technical screening phone call, followed by an on-site, followed by an offer. The office seems like a great place to work and the software team I met seemed very sharp and friendly.

Looking forward to the future! Keep grinding, everyone!

Comments (1)