Tips for the interview Flashcards

1
Q

What are the main three tips of “Setting the stage” tip?

A

Take notes;
Remember your resume;
Consider questions;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How to respond to questions in the interview? 6 topics

A
  • Start with the customer (customer viewpoint);
  • Use multiple examples but do not use the same more than once;
  • Be detailed and specific (don’t generalize about several events; share details and provide data to support your reasoning).
  • I, before we: This interview is an opportunity for Amazon to learn about what you have owned and accomplished. Use words like “I owned” or “I did” and avoid “we did” or “my manager…”.
  • Show how you deal with ambiguity. Demonstrate that you can handle intentionally vague requirements; change strategies quickly when the approach doesn’t work; work through open-ended questions; is adaptable & quick learning.
  • Leverage notes. You are allowed to have notes during the interview, but don’t become dependent on them. Make sure you call it out to the interviewer as well.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the role of the hiring manager in the interview process? What questions to ask him?

A

The role of the hiring manager is to make the best hiring decision for Amazon, in addition to hiring for their position and team and ensure a quality candidate experience. Like all of our interviewers, hiring managers participate in our interviewer training programs and will consider how your skills and experiences compare to objective standards for SDE success at Amazon.

This is a great Amazonian to ask questions about what it takes to be a successful SDE at Amazon and learn more about how they manage their teams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the role of the bar raiser in the hiring process?

A

A bar raiser is an interviewer at Amazon who is brought into the hiring process to be an objective third party, making sure every candidate’s assessment is open, accurate, and fair. Not directly involved with the position, but with the hiring process at amazon;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the role of the interviewers?

A

Usually, they are Amazonians who are in the same type of role or will work closely with you.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the role of the Shadows in the interview?

A

None. Just learning from bar raisers and interviewers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What to expect from the interviewers? 5 items

A
  • They take notes (periods of silence)
  • May redirect or interrupt
  • Asking a lot and do followup questions
  • Answering your questions (ask about culture, projects etc)
  • Provide prompts and hints. Take the hints/feedbacks into consideration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does the system design competency assess?

A

The goal is for you to deliver a design in production with considerations of deployment, scaling, failures, availability, and performance. Be prepared to discuss latency and concurrency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How to prepare for the system design meeting? 3 items 1 note

A
  • Often times, software systems need software components, something to store data, something to make decisions (such as business logic) and APIs or processes.
  • Knowledge of distributed systems, SOA, and n-tiered software architecture is very important in answering systems design questions. If you don’t work with these concepts regularly, be sure to review them.
  • Also, be sure to practice drawing your system design by hand and be prepared to whiteboard.

Note: For the system design competency, there’s often more than one correct answer. What matters is your process for how you transform the solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the tips for the system design interview?

A

Think about the customer first:
- Who are you designing the system for and why?

  • What expectations do they have in terms of functionality?
  • What things would a customer just assume will be in the system but they may not think about in the forefront of their minds? (e.g. it’ll be fast and secure)
  • What happens if we become hyper-popular with customers? What does 2x growth look like? Or 10x? And how would that influence the design?
  • Understand first what problem your system is supposed to solve. Ask clarifying questions if this is not clear.
  • See the interviewer as the customer, requirements might be intentionally vague, and she/he can give you clarifications.
  • Write/raise the requirements or assumptions you are making, and base your design on them.
  • Feel free to create a diagram if that helps you clarifying your thoughts.
  • Scaling is a critical component of software design at Amazon.
  • Fault tolerance translates to the Customer Obsession Leadership Principle.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the logical and maintainable competency assess?

A

This interview is exploring how you structure your methods and classes to ensure the logical separation of concerns is clear. It’s exploring how you name variables, methods, and classes in a way that future developers with no previous knowledge of the code can understand how it works, evolve the logic, investigate it, and debug it when needed.

Test names should describe business and technical requirements, and the test code should be consistent with the test names.

This competency measures your ability to write maintainable, readable, reusable, and understandable code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How to prepare to Logical and maintainable overview?

A

Get technical. We are a technology company. So be as technical as possible in your answers.

Be ready to write code in real-time on an online editor during your interview.

Be prepared to gather qualifying requirements and translate into clean written code, checking edge cases.
Be prepared to write syntactically correct code, no pseudo code.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the 5 tips for Logical and maintainable?

A

Simple code: leverage reuse, properly format, no improper coding constructs. Don’t spend time thinking in an optimal solution - enhance as you go. Avoing single func that does everything.

Maintainable code: quickly able to trace impact of changes, clear variable naming conventions. Make sure that your method, parameter, and variable names are clear & descriptive and try to separate out functionality into discrete methods/functions with clear responsibilities.

Organize code: organize code in a way that is easy to read and understand. Use functions and classes, and inheritance to break up your solution into logical components. This improves readability and makes it easier to extend the solution for new requirements.

Syntactically correct code: Create syntactically correct code or it would be with minor improvements. Pick the language you’re comfortable with.

Create code that works as intended: Start small, solving one thing at a time, and iterate over your solution as you ask questions or the interviewer does more follow-ups. If you see clear design patterns or abstractions that can be applied from the very beginning, apply those! It is better to realize code can be refactored to support more requirements in a maintainable way, rather than building a complex solution or investing time applying a design pattern that doesn’t solve the requirements.

Think through test cases (both working and breaking), edge cases, boundary conditions, null/nil/none etc. Try and enumerate these cases before you begin coding so that when you have a solution you feel works, you can use these as validation. Be sure to also confirm test cases with your interviewer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does the “data structures and algorithms” competency assess?

A

This competency measures your ability to choose the most efficient run-time solutions. For example, different data structures are more performant for reading data while others are more performant for writing. Algorithms should be as fast as possible and, of course, solve the problem correctly. Look out for edge cases for which your algorithm fails to satisfy requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How to prepare for “data structures and algorithms” competency?

A
  • Consider runtimes for common operations and understand how they use memory.
  • Understand data structures you encounter in core libraries (e.g., trees, hash maps, lists, arrays, queues, etc.)
  • Understand common algorithms (e.g., traversals), divide and conquer, when to use breadth first vs. depth first recursion.
  • Discuss runtimes, theoretical limitations, and basic implementation strategies for different cases of algorithms.

Suggested areas of refresh:

  • Binary search tree data.
  • Scalability methods—With the architecture, there are many techniques and methods which can be used in order to customize and improve the design of a system. Some of the most widely used are: redundancy, partitioning, caching, indexing, load balancing, and queues.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the optimization tips from “data structures and algorithms” competency?

A

Build a toolbox of what data structures would be useful in common scenarios such as efficient access by key/object/position, maintaining sort order, searching, and finding maximums/minimums. Also think about edge cases where your chosen data structure may not function as intended - for example with hash-based data structures what happens when there is a hash collision, or what a degenerate binary tree looks like and why.

Be familiar with the features, data structures, and algorithms in your programming language(s) of choice. If you dive deep into these it might introduce you to data structures you may not normally see/use so you can expand your toolbox for solving problems.

If you're comparing two data structures or algorithms that each have some drawback (very common!), pick one and give a justification for it. Remember to explain the benefit, operations, and time complexity.
17
Q

What does the “problem-solving competency” assess?

A

This competency assesses your ability to take something complex, break it down, identify a solution and translate that solution into working code.

These questions will most likely have an ambiguous problem statement. It may be more difficult to understand what the problem is and you will need to ask clarifying questions to understand how you can start to solve the problem.

18
Q

How to prepare for “problem-solving” competency?

A

Make sure you understand the problem and functional and not functional implications before you jump into code.

Test your ideas with examples and callout any assumptions you are making—ask the interviewer if they agree with them as you go.

Suggested areas of refresh

Practice solving problems without an integrated development environment. During the interview, you'll be asked to showcase your coding skills without an IDE. Re-familiarizing yourself with basics typically handled by a IDE program, like correct syntax (your preferred coding language), so you can focus your brain-power on the interesting parts of a solution rather than trying to recall those utilities.

Show how you deal with ambiguity. For example, demonstrate that you can:
    Handle intentionally vague requirements
    Change strategies quickly when the approach doesn't work
    Work through open-ended questions
    Be adaptable and quick learning 

Think out loud. The whiteboarding challenges are your opportunity to show off your problem-solving skills. We want to hear how you're transforming the solution! So practice talking out loud as you work through your process and solve the problem.

Keep it simple. Try not to over-engineer the solution to solve for things it's not supposed to.
19
Q

What are the 5 tips of “problem-solving” competency?

A

Criteria: Correctly solve the problem.

Tip:

Consider edge cases and inputs that would cause your code to fail.

Criteria: Justify decisions by identifying potential tradeoffs with several different solutions; understand why one solution is better than another.

Tips:

Get at least one working solution, even if it is not the most optimal one. Efficiency and scalability are important, but it is better to deliver first a working solution and raise it is not optimal, rather than not producing working code. Then you can either iterate over it to improve it, or implement a new approach.
Explain your approach before coding, and vocalize your thought process as you proceed. This isn't natural for everyone, but it will help your interviewer give you good feedback and hints if you need them.
When vocalizing your points to the interviewer, write different test inputs, try to visualize, and talk about how you would translate it into code and any caveats you might want to consider in your code. 

Criteria: Define the problem by asking relevant clarifying questions.

Tip:

Make sure you understand the problem and functional and not functional implications before you jump into code.
Test your ideas with examples and callout any assumptions you are making - ask the interviewer if they agree with them as you go.

Criteria: Consider additional factors (e.g., developer effort, team composition) beyond the basic problem.

Tip:

When coding, use descriptive variable names, follow consistent indentation, and use best practices and recommended style for the programming language you have chosen. 

Criteria: Require minimal hints and be able to use the hints to reach solutions to the problem.

Tips:

Identify test cases (happy and edge ones) and run them through your code to verify your solution works.
Don't be afraid to ask for help, but make sure you ask directed questions. For example, saying "I'm stuck" is very general and it can be hard to give advice. If you can describe approaches you're thinking about but don't believe they'll work (and why) or things you've tried this is better.
There are no trick questions or trick hints, everything will be useful. When the interviewer provides a hint, write it down so you can use them in your solution.
20
Q

Will leadership principles be brought during all interviews? Will every interviewer discuss multiple leadership principles?

A

Yes and yes.

21
Q

What are the 16 leadership principles?

A

Earn Trust: Leaders listen attentively, speak candidly, and treat others respectfully. They are vocally self-critical, even when doing so is awkward or embarrassing. Leaders do not believe their or their team’s body odor smells of perfume. They benchmark themselves and their teams against the best.

Deliver Results: Leaders focus on the key inputs for their business and deliver them with the right quality and in a timely fashion. Despite setbacks, they rise to the occasion and never settle.

Customer Obsession: Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.

Ownership: Leaders are owners. They think long term and don’t sacrifice long-term value for short-term results. They act on behalf of the entire company, beyond just their own team. They never say “that’s not my job”.

Invent and Simplify: Leaders expect and require innovation and invention from their teams and always find ways to simplify. They are externally aware, look for new ideas from everywhere, and are not limited by “not invented here”. As we do new things, we accept that we may be misunderstood for long periods of time.

Are right, A Lot: Leaders are right a lot. They have strong judgment and good instincts. They seek diverse perspectives and work to disconfirm their beliefs.

Learn and Be Curious: Leaders are never done learning and always seek to improve themselves. They are curious about new possibilities and act to explore them.

Hire and Develop the Best: Leaders raise the performance bar with every hire and promotion. They recognize exceptional talent, and willingly move them throughout the organization. Leaders develop leaders and take seriously their role in coaching others. We work on behalf of our people to invent mechanisms for development like Career Choice.

Insist on the Highest Standards: Leaders have relentlessly high standards - many people may think these standards are unreasonably high. Leaders are continually raising the bar and driving their teams to deliver high quality products, services and processes. Leaders ensure that defects do not get sent down the line and that problems are fixed so they stay fixed.

Think Big: Thinking small is a self-fulfilling prophecy. Leaders create and communicate a bold direction that inspires results. They think differently and look around corners for ways to serve customers.

Bias for Action: Speed matters in business. Many decisions and actions are reversible and do not need extensive study. We value calculated risk taking.

Frugality: Accomplish more with less. Constraints breed resourcefulness, self-sufficiency and invention. There are no extra points for growing headcount, budget size or fixed expense.

Dive Deep: Leaders operate at all levels, stay connected to the details, audit frequently, and are skeptical when metrics and anecdote differ. No task is beneath them.

Have Backbone; Disagree and Commit: Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.

Strive to be Earth’s Best Employer: Leaders work every day to create a safer, more productive, higher performing, more diverse, and more just work environment. They lead with empathy, have fun at work, and make it easy for others to have fun. Leaders ask themselves: Are my fellow employees growing? Are they empowered? Are they ready for what’s next? Leaders have a vision for and commitment to their employees’ personal success, whether that be at Amazon or elsewhere.

Success and Scale Bring Broad Responsibility: We started in a garage, but we’re not there anymore. We are big, we impact the world, and we are far from perfect. We must be humble and thoughtful about even the secondary effects of our actions. Our local communities, planet, and future generations need us to be better every day. We must begin each day with a determination to make better, do better, and be better for our customers, our employees, our partners, and the world at large. And we must end every day knowing we can do even more tomorrow. Leaders create more than they consume and always leave things better than how they found them.

22
Q

What does STAR stands for?

A

Situation
Task
Action
Result

23
Q

How are Leadership principles assessed and how to prepare for them?

A

Leadership Principle questions are behavioral-based. They ask about past experiences and challenges you’ve faced, as well as how you’ve handled them and what you learned from them. After all, your past behaviors are a great indicator for your future performance and success.

Dominic said to write down at least two situations for each behavior… from site:
First, consider and recall some of your most memorable days in your previous professional experiences, independent of the Leadership Principles. Spend some time recalling the specific details of those circumstances (e.g., who, what, when, what challenges, what mistakes were made and corrected). Then, consider how you’ve applied the Leadership Principles in those experiences.

Have specific examples that showcase your expertise, and demonstrate how you’ve taken risks, succeeded, failed and grown in the process. Keep in mind, some of Amazon’s most successful programs have risen from the ashes of failed projects. Failure is a necessary part of innovation. It’s not optional. We understand that and believe in failing early and iterating until we get it right.

Fill it from here:
https://duaa2xs5z3ldn.cloudfront.net/assets/EH5MHfVk0f1VRWa0_LRX21Ro-EvUopwEW-LeadershipPrinciplesSTARtemplate.pdf