「Software development topics | Amazon.jobs」

Before you dig into the technical topics you may be asked about during your interview, connect with your recruiting point of contact to understand the subjects/skills you’ll most likely be discussing and demonstrating. In general, our technical interviews typically require you to perform coding and system design white boarding exercises. Also keep in mind that 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. When reviewing the below topics, keep the customer top of mind.    An important part of Amazon’s Software Development Engineer hiring process is the completion of an online assessment which includes a coding test. We invite you to prepare for the experience by taking this sample coding challenge. You can become comfortable with the environment and experience practice questions which are similar to the actual assessment. You can click through this as many times as you’d like!    Interviewing for a software engineer role that requires at least 2 years of experience? Learn how to successfully demonstrate your skills in interviews.    Technical topics          Programming language          We do not require that you know any specific programming language before interviewing for a tech position. However, familiarity with a prominent language is generally a prerequisite for success. You should be familiar with the syntax of languages such as C, C++, C++14, C#, Go, Java7, Java8, JavaScript, Kotlin, Objective-C, PyPy2, PyPy3, Python2, Python3, Ruby, Scala and Swift. You should also know some of the languages’ nuances, such as how memory management works, or the most commonly used collections, libraries, etc.            Data structures          Most of the work we do involves storing and providing access to data in efficient ways. This requires a strong background in data structures. You’ll need 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.            Algorithms          Your interview 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 a lot easier. Consider reviewing common algorithms such as traversals, divide and conquer, breadth-first search vs. depth-first search and understand the tradeoffs for each. 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 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 evaluation criteria for your code. Make sure that you check for edge cases and validate that no bad input can slip through. This is your chance to show off your coding ability.            Object-oriented design          Good design is paramount to extensible, bug-free, long-lived code. We know it’s possible to solve any given software problem in almost limitless ways, but when software needs to be extensible and maintainable, good software design is critical to success. One way to build lasting software is to use object-oriented design best practices. You should have a working knowledge of a few common and useful design patterns, along with how to write software in an object-oriented way. You likely 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. Many of the challenges tech people face arise when figuring out how to most efficiently retrieve and 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 to the developer community so that they can easily leverage the benefits of non-relational databases. While we don't expect any particular level of expertise with non-relational databases, you should be familiar with broad database concepts and their applications. The more you know about tradeoffs between relational and non-relational databases, the better prepared you will be.            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. Understanding topics such as service-oriented architectures, map-reduce, distributed caching, load balancing, and others, will 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 (e.g. memory management, processes, threads, synchronization, paging, and multithreading).            Internet topics          We expect our engineers to be familiar with the fundamentals of how the internet works. Brush up on how browsers function at a high level, from DNS lookups and TCP/IP, to socket connections. Having a solid understanding of the fundamentals of how the worldwide web works is a requirement.            General machine learning and artificial intelligence          Expect to be asked about data-driven modeling, train/test protocols, error analysis, and statistical significance. For example, given a problem definition, you should be able to formulate it as a machine learning problem and propose a solution, including ideas for data sources, annotation, modeling approaches, and potential pitfalls. Understand the basic AI/ML methods and algorithms – revisit your favorite ML and AI textbooks.           We understand this was a relatively long list of topics to review. Know that your interviewers won’t be evaluating your ability to memorize all of the details for each of these topics. They will be looking for your ability to apply what you know to solve problems efficiently and effectively. With (sometimes) limited time to prepare for a technical interview, we recommend reviewing computer science fundamentals and practicing coding outside of an integrated development environment. This will likely yield the best results for your time.       Have more questions?    EXPLORE INTERVIEWING AT AMAZON. CHECK OUT OUR FAQS.  LEARN ABOUT OUR BENEFITS. EXPLORE OUR LOCATIONS.

Before you dig into the technical topics you may be asked about during your interview, connect with your recruiting point of contact to understand the subjects/skills you’ll most likely be discussing and demonstrating. In general, our technical interviews typically require you to perform coding and system design white boarding exercises. Also keep in mind that 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. When reviewing the below topics, keep the customer top of mind. An important part of Amazon’s Software Development Engineer hiring process is the completion of an online assessment which includes a coding test. We invite you to prepare for the experience by taking this sample coding challenge. You can become comfortable with the environment and experience practice questions which are similar to the actual assessment. You can click through this as many times as you’d like! Interviewing for a software engineer role that requires at least 2 years of experience? Learn how to successfully demonstrate your skills in interviews. Technical topics Programming language We do not require that you know any specific programming language before interviewing for a tech position. However, familiarity with a prominent language is generally a prerequisite for success. You should be familiar with the syntax of languages such as C, C++, C++14, C#, Go, Java7, Java8, JavaScript, Kotlin, Objective-C, PyPy2, PyPy3, Python2, Python3, Ruby, Scala and Swift. You should also know some of the languages’ nuances, such as how memory management works, or the most commonly used collections, libraries, etc. Data structures Most of the work we do involves storing and providing access to data in efficient ways. This requires a strong background in data structures. You’ll need 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. Algorithms Your interview 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 a lot easier. Consider reviewing common algorithms such as traversals, divide and conquer, breadth-first search vs. depth-first search and understand the tradeoffs for each. 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 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 evaluation criteria for your code. Make sure that you check for edge cases and validate that no bad input can slip through. This is your chance to show off your coding ability. Object-oriented design Good design is paramount to extensible, bug-free, long-lived code. We know it’s possible to solve any given software problem in almost limitless ways, but when software needs to be extensible and maintainable, good software design is critical to success. One way to build lasting software is to use object-oriented design best practices. You should have a working knowledge of a few common and useful design patterns, along with how to write software in an object-oriented way. You likely 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. Many of the challenges tech people face arise when figuring out how to most efficiently retrieve and 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 to the developer community so that they can easily leverage the benefits of non-relational databases. While we don't expect any particular level of expertise with non-relational databases, you should be familiar with broad database concepts and their applications. The more you know about tradeoffs between relational and non-relational databases, the better prepared you will be. 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. Understanding topics such as service-oriented architectures, map-reduce, distributed caching, load balancing, and others, will 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 (e.g. memory management, processes, threads, synchronization, paging, and multithreading). Internet topics We expect our engineers to be familiar with the fundamentals of how the internet works. Brush up on how browsers function at a high level, from DNS lookups and TCP/IP, to socket connections. Having a solid understanding of the fundamentals of how the worldwide web works is a requirement. General machine learning and artificial intelligence Expect to be asked about data-driven modeling, train/test protocols, error analysis, and statistical significance. For example, given a problem definition, you should be able to formulate it as a machine learning problem and propose a solution, including ideas for data sources, annotation, modeling approaches, and potential pitfalls. Understand the basic AI/ML methods and algorithms – revisit your favorite ML and AI textbooks.   We understand this was a relatively long list of topics to review. Know that your interviewers won’t be evaluating your ability to memorize all of the details for each of these topics. They will be looking for your ability to apply what you know to solve problems efficiently and effectively. With (sometimes) limited time to prepare for a technical interview, we recommend reviewing computer science fundamentals and practicing coding outside of an integrated development environment. This will likely yield the best results for your time.   Have more questions? EXPLORE INTERVIEWING AT AMAZON. CHECK OUT OUR FAQS. LEARN ABOUT OUR BENEFITS. EXPLORE OUR LOCATIONS.

www.amazon.jobs

Webページ

コンテンツ文字数:0 文字

見出し数(H2/H3タグ):0 個

閲覧数:138 件

2022-09-29 14:09:29

オリジナルページを開く

タグ一覧
Software
development
topics
Amazon
jobsBefore
you
dig
into
the
technical
may
be
asked
about
during
your
interview
connect
with
recruiting
point
of
contact
to
understand
subjects
skills
you’ll
most
likely
discussing
and
demonstrating
In
general
our
interviews
typically
require
perform
coding
system
design
white
boarding
exercises
Also
keep
in
mind
that
invention
is
DNA
technology
fundamental
tool
we
wield
evolve
improve
every
aspect
experience
provide
customers
When
reviewing
below
customer
top
An
important
part
Amazon’s
Development
Engineer
hiring
process
completion
an
online
assessment
which
includes
test
We
invite
prepare
for
by
taking
this
sample
challenge
You
can
become
comfortable
environment
practice
questions
are
similar
actual
click
through
as
many
times
you’d
like
Interviewing
software
engineer
role
requires
at
least
years
Learn
how
successfully
demonstrate
Technical
Programming
language
do
not
know
any
specific
programming
before
interviewing
tech
position
However
familiarity
prominent
generally
prerequisite
success
should
familiar
syntax
languages
such
14
Go
Java
JavaScript
Kotlin
Objective-C
PyPy
Python
Ruby
Scala
Swift
also
some
languages’
nuances
memory
management
works
or
commonly
used
collections
libraries
etc
Data
structures
Most
work
involves
storing
providing
access
data
efficient
ways
This
strong
background
You’ll
need
inner
workings
common
able
compare
contrast
their
usage
various
applications
will
expected
runtimes
operations
well
they
use
Algorithms
Your
focused
on
rote
memorization
algorithms
having
good
understanding
make
solving
lot
easier
Consider
traversals
divide
conquer
breadth-first
search
vs
depth-first
tradeoffs
each
Knowing
theoretical
limitations
basic
implementation
strategies
different
classes
more
than
memorizing
details
given
algorithm
Coding
Expect
write
syntactically
correct
code
no
pseudo
If
feel
bit
rusty
without
IDE
it’s
idea
dust
off
cobwebs
get
pen
paper
The
thing
does
scalable
robust
well-tested
These
main
evaluation
criteria
Make
sure
check
edge
cases
validate
bad
input
slip
chance
show
ability
Object-oriented
Good
paramount
extensible
bug-free
long-lived
possible
solve
problem
almost
limitless
but
when
needs
maintainable
critical
One
way
build
lasting
object-oriented
best
practices
have
working
knowledge
few
useful
patterns
along
won’t
describe
expect
defend
choices
Databases
backed
store
Many
challenges
people
face
arise
figuring
out
efficiently
retrieve
future
has
been
forefront
non-relational
DB
movement
made
Web
Services
DynamoDB
available
developer
community
so
easily
leverage
benefits
databases
While
don
39
particular
level
expertise
broad
database
concepts
between
relational
better
prepared
Distributed
computing
Systems
under
very
strict
tolerances
high
load
internal
tools
help
us
scaling
distributed
Understanding
service-oriented
architectures
map-reduce
caching
balancing
others
formulate
answers
complicated
architecture
might
encounter
Operating
systems
own
operating
from
scratch
OS
affect
performance
processes
threads
synchronization
paging
multithreading
Internet
engineers
fundamentals
internet
Brush
up
browsers
function
DNS
lookups
TCP
IP
socket
connections
Having
solid
worldwide
web
requirement
General
machine
learning
artificial
intelligence
data-driven
modeling
train
protocols
error
analysis
statistical
significance
For
example
definition
it
propose
solution
including
ideas
sources
annotation
approaches
potential
pitfalls
Understand
AI
ML
methods
revisit
favorite
textbooks
was
relatively
long
list
review
Know
interviewers
evaluating
memorize
all
these
They
looking
apply
what
problems
effectively
With
sometimes
limited
time
recommend
computer
science
practicing
outside
integrated
yield
results
Have
EXPLORE
INTERVIEWING
AT
AMAZON
CHECK
OUT
OUR
FAQS
LEARN
ABOUT
BENEFITS
LOCATIONS
What
address
Interview
Preparation
SIP
Leadership
Principles
Sample
System
Design
SDE
FAQs
Example