Monday, May 21, 2018

Amazon - In and out ... what's going on



                                            Interview Tips
Technical Topics to Review

Programming Languages

We do not require that you know any specific programming language before interviewing for a technical position with Amazon, but familiarity with a prominent language is generally a prerequisite for success. Not only should you be familiar with the syntax of a language like Java, Python, C#, C/C++, or Ruby, you should be familiar with some of the languages’ nuances, such as how memory management works, or the most commonly used collections or libraries, etc.

Data Structures
Most of the work we do involves storing and providing access to data in efficient ways. This necessitates a very strong background in data structures. You’ll be expected to understand the inner workings of common data structures and be able to compare and contrast their usage in various applications. You will be expected to know the runtimes for common operations as well as how they use memory. Wikipedia is a great resource for brushing up on data structures.
“Random forests, naïve Bayesian estimators, RESTful services, gossip protocols, eventual consistency, data sharding, anti-entropy, Byzantine quorum, erasure coding, vector clocks ... walk into certain Amazon meetings, and you may momentarily think you've stumbled into a computer science lecture.”
- Jeff Bezos
Algorithms
Your interview with Amazon will not be focused on rote memorization of algorithms; however, having a good understanding of the most common algorithms will likely make solving some of the questions we ask a lot easier. Consider reviewing traversals, divide and conquer, and any other common algorithms you feel might be worth brushing up on. For
2
example, it might be good to know how and when to use a breadth-first search versus a depth-first search, and what the tradeoffs are. Knowing the runtimes, theoretical limitations, and basic implementation strategies of different classes of algorithms is more important than memorizing the specific details of any given algorithm.
Coding
Expect to be asked to write syntactically correct code—no pseudo code. If you feel a bit rusty coding without an IDE or coding in a specific language, it’s probably a good idea to dust off the cobwebs and get comfortable coding with a pen and paper. The most important thing a Software Development Engineer does at Amazon is write scalable, robust, and well-tested code. These are the main criteria by which your code will be evaluated, so make sure that you check for edge cases and validate that no bad input can slip through. A few missed commas or typos here and there aren’t that big of a deal, but the goal is to write code that’s as close to production ready as possible. This is your chance to show off your coding ability.
Object-Oriented Design
Good design is paramount to extensible, bug free, long-lived code. It’s possible to solve any given software problem in an almost limitless number of ways, but when software needs to be extensible and maintainable, good software design is critical to success. Using Object-oriented design best practices is one way to build lasting software. You should have a working knowledge of a few common and useful design patterns as well as know how to write software in an object-oriented way, with appropriate use of inheritance and aggregation. You probably won’t be asked to describe the details of how specific design patterns work, but expect to have to defend your design choices.
Databases
Most of the software that we write is backed by a data store, somewhere. Many of the challenges we face arise when figuring out how to most efficiently retrieve or store data for future use. Amazon has been at the forefront of the non-relational DB movement. We have made Amazon Web Services such as DynamoDB available for the developer community that let them easily leverage the benefits of non-relational databases. The more you know about how relational and non-relational databases work and what tradeoffs exist between them, the better prepared you will be. However, we don’t assume any particular level of expertise.
Distributed Computing
Systems at Amazon have to work under very strict tolerances at a high load. While we have some internal tools that help us with scaling, it’s important to have an understanding of a few basic distributed computing concepts. Having an understanding of topics such as service oriented architectures, map-reduce, distributed caching, load balancing, etc. could help you formulate answers to some of the more complicated distributed architecture questions you might encounter.
Operating Systems
You won’t need to know how to build your own operating system from scratch, but you should be familiar with some OS topics that can affect code performance, such as: memory management, processes, threads, synchronization, paging, and multithreading.
Internet Topics
You’re interviewing at Amazon. We do a lot of business online, and we expect our engineers to be familiar with at least the basics of how the internet works. You might want to brush up on how browsers work at a high level, from DNS lookups and TCP/IP, to socket connections. We aren’t looking for network engineer qualifications, but a solid understanding of the fundamentals of how the web works is a requirement.
This was a relatively long list of topics to review, and might seem somewhat overwhelming. Your interviewers won’t be evaluating your ability to memorize all of the details about each of these topics. What they will be looking for is your ability to apply what you know to solve problems efficiently and effectively. Given a limited amount of time to prepare for a technical interview, practicing coding outside of an IDE and reviewing CS fundamentals will likely yield the best results for your time.
3
“Invention is in our DNA and technology is the fundamental tool we wield to evolve and improve every aspect of the experience we provide our customers.”
- Jeff Bezos
Interview Tips
• Be prepared to discuss technologies listed on your resume. For example, if you list Java or Python as technical competencies, you should expect technical question about your experience with these technologies. It’s also helpful to review the job description before your interview to align your qualifications against the job’s specific requirements and responsibilities.
• Please ask questions if you need clarification. We want the interview process to be collaborative. We also want to learn what it would be like to work with you on a day-to-day basis in our open environment. If you are asked a question, but not given enough information to solve the problem, drill down to get the information that you need. If that information isn’t available, focus on how you would attempt to solve the problem given the limited information you have. Often times at Amazon, we have to make quick decisions based on some of the relevant data.
• When answering questions, be as concise and detailed in your response as possible. We realize it’s hard to gauge how much information is too much versus not sufficient enough; an effective litmus test is pausing after your succinct response to ask if you’ve provided enough detail, or if the interviewer would like you to go into more depth.
“Nothing gives us more pleasure at Amazon than “reinventing normal” – creating inventions that customers love and resetting their expectations for what normal should be.”
- Jeff Bezos
• We want to hire smart, passionate people. Please reflect on how you think a career with Amazon would be mutually beneficial and be prepared to speak to it. Although “Why Amazon?” is a standard type of question, it’s not a check-the-box type of formality for us. We genuinely want to understand how working together with you would be great, so we get a better sense of who you are. Our interviewers also appreciate an opportunity to share their thoughts and experiences, so take a moment to prepare a couple of questions for the interviewer.






Leadership Principles

Amazon currently employs more than 100,000 people around the world. Our Leadership Principles are the foundation of our culture and guide each Amazonian. Whether you are an individual contributor or a manager of a large team, you are an Amazon leader.
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
4
Leaders are right a lot. They have strong judgment and good instincts. They seek diverse perspectives and work to disconfirm their beliefs.
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 drive 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.
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.
Earn Trust of Others
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.
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.
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.

No comments:

Post a Comment

Hyderabad Trip - Best Places to visit

 Best Places to Visit  in Hyderabad 1.        1. Golconda Fort Maps Link :   https://www.google.com/maps/dir/Aparna+Serene+Park,+Masj...