亚麻 SDE1 面经

第一轮
OOD of Appointment system for health clinic.

第二轮: Number of Islands (LC)

第三轮: OOD for movies and Tv shows problem.

第四轮: Inventory picker problem.

Behavioral questions were obviously around the leadership principles. What innovative solutions did u come up with at your work? Something new you recently learned? A situation where you had to go out of your way ?

补充一个挂经:

店面
45. Jump Game II

On-site
Spent most of my time in each rounds with behavioral questions. At some point I forgot whether I was getting hired for Software Engineer or HR.

Most questions were scenario based, unlike any other company questions. You are given a scenario, you need to remove all the emotions, scenary and unnecessary complexities out of those questions and make it reasonable enough to solve.

第二轮
You are given a schedule of programs across different channels for a day in a network TV. You have to find out at what part of the day the max number of programs scheduled.
Variation of: 759. Employee Free Time / 986. Interval List Intersections

第三轮
Given a graph, representing a social network like Goodreads, a node in the graph represents an user and has attributes of Read books and recommendations . You need to take read books from a given node and update that to the recommendations attribute to upto n node away from the starting node.
It is basically BFS but limited to n levels.

第四轮
System design a Search Engine .

第五轮
Interviewer comes with a sheet of paper and the question is written on that paper. There are some logical mistakes in the question, you need to identify them and solve the problem. The question given to me was like this: Given a string, along with some start and end position, and opcode field. Opcode represents either of the actions: BOLD , ITALIC , or UNDERLINE. You have write a function that will take them as input and XML encode those to string.
Example:
Input: “Hello World!”, 0,5, BOLD
Output: “Hello World!”

报一个面经,也在西雅图:

第一轮:

  • Leadership principles:
    • Tell me a time when you had to deal with deadlines.
    • Follow up questions on project architecture, team structure etc.
  • How will you display top N stock prices based on trading volume (or any other id)?

第二轮: [Manager]

  • Leadership principles:
    • Tell me a time when you had a challenging project,disagreement among the teams.
    • Follow up questions on project architecture,approaches followed to solve the problems.
  • You have the items(X,Y) purchased by customer A. Customer B bought X along with Z and M. So I have to show the suggestions of Z and M to cutomer B. How will you design the backend?

第三轮:

  • Leadership principles:
    • Tell me a time when you had to do something out of the box, something you could have done better.
  • A class iterator with hasNext(),next() are given. I have my own class with myHasNext() and myNext(). I will use the class Iterator functions to complete my own methods.Eg: In a given page, I am having a list of items and when a new item comes up , I have to check if that item is already there in the last 10 seconds of span - if yes , remove it.Each item has a timestamp and an id.myHasNext(): returns true if hasNext() is true and if that element has not been seen in the last 10 sec of time.
    myNext(): returns the element if that element has not been seen in the last 10 sec of time. Else, remove it.

第四轮:

  • https://leetcode.com/problems/majority-element
    Started with brute force ,reduced it to O(n) approach. If the array has every possible integer, what will you return if there is no majority element? I cant return a null (Integer), a list or a set or a String/Stringbuffer. He was not satisfied with anything.
    How will I use this algorithm if I have terabytes of data? How will you store in a database?

也报一个:

第一轮: system design. design an online recipe system
第二轮: talk with Hiring Manager
Lunch with an employee (not an interview)
第三轮: coding. I didn’t understand their question …
第四轮: coding. Implement logic of searching and writing files in command line.
第五轮: coding. Merge two bst into one bst. The merged bst needs not to be balanced.
Every one of them asked a lot of behavioral questions.

报告一下:

Onsite 4 轮

第一轮 (1小时):

  • 2 - 3 LP behavioral questions
  • a design question about chat server with the functions of direct messaging, group messaging and black list.

第二轮 (1 小时):

  • The whole time for LP behavioral questions, forgot how many.

第三轮 (1 小时):

  • 1-2 LP behavioral questions
  • Algorithm, leetcode, trapping rain water

第四轮 (1 小时):

  • 2-3 LP behavioral questions
  • design, given a endless stream and a percentage N, output the N percent element in the stream, e.g. 2 6 8 1 3... N is 60%, the output should be 6 because 6 is the 60% el in the sorted list of 1 2 3 6 8 .

Overall:
LP behavioral questions : Technical questions = 6:4
Suggestion: pay more attention to LP

LP - leadership principle

报个西雅图挂经

Status: BS in Computing + 3 YOE.
Position: SDE at Amazon
Location: Seattle, WA
Last interview date: July 10, 2019

OA: (1.5 hours (if not mistaken))

  • I can’t remember the first question.
  • The second question was very similar to Treasure Island, it was about a robot who wants to remove an obstacle from an MxN grid. It had obstacles where he can’t move and I needed to return shortest distance or -1 if not applicable.
  • After the two questions, I had to write down my thinking about the two questions and then provide the time and space complexity of my algorithms.

Phone screen 1: (1 hour)

Phone screen 2: System Design + Behavioural (1 hour)

  • Tell me about the hardest project you worked on.
  • System Design:
    • Design a system to create promotions for users selling an item. For example: User X is selling an item priced 100$. Amazon would contact X asking him to make a d% discount and for the first n items sold, Amazon will pay p$ for X where p is a an amount of money less than d which is the discount percentage value.
    • During the interview, my interviewer focused a lot on the database design and even asked me to write a select query and an update query.
  • In the last 15 minutes, the interviewer came back to ask me about the project I described in the first question and if I could tell him about the algoirthm I used. The project is an OCR library to read amount out of bank checks automatically. The interviewer was interested about how did I go from cleaning the image until reading the amount. I tried to explain the algorithms I used and the design I created as fast as possible since we only had 15 minutes left.
  • Overall Experience:
  1. I didn’t really like how things went in the second phone screening when everything was around the database, but I enjoyed talking about my own design of something I created.
  2. The worst experience I had is the next:
  • 24 hours after the second phone screening, I received an email saying that I passed my interviews and that I am invited to continue interviewing on site. I was very thrilled about the news and very happy.
  • I went to sleep that night really excited (there’s a 10 hours difference between where I live and Seattle), and I woke up to another email where the recruiter is appologizing for sending me the wrong email and that I wasn’t actually selected for the onsite interview and to apply again in 6 months. No one was CCed in both emails and it really hurt to be rejected in this unprofessional way (in my opinion).