d********t 发帖数: 9628 | 1 Software Development Engineer ,说会有design, data structures, algorithms
and basic coding,有熟悉的吗?
谢谢! | S**I 发帖数: 15689 | 2 Sent by Amazon recruiter:
Thank you for the interest in Amazon.com and taking the time to speak with
us about some of the exciting opportunities that we have available. We've
put this document together to help give you an idea of what types of
knowledge we expect some level of familiarity with.
Preparing for Your Interview
At Amazon.com we're looking for talented engineers that can apply the
knowledge that they've learned in school and in industry to solving some of
the world's most complicated software problems. As such, our interviews are
mainly focused on how well you can use your acquired knowledge to solve real
world (or in some cases not so real world) problems. Below is a list of
broad areas that we expect people to be familiar with. It's certainly not
required that you memorize all of the information outlined below, but this
should serve as a helpful reference guide for the types of things you might
want to brush up on before interviewing with Amazon.com.
Programming Languages
We do not require that you know any specific language before interviewing
for a technical position at Amazon.com, but familiarity with a prominent
object oriented language is generally a prerequisite for success. Not only
should you be familiar with the syntax of a language like C++, Java, or C#,
you should also know some of the language nuances such as how memory
management works, what some of the most commonly used collections or
libraries are, etc. You should be able to compare languages and talk about
the tradeoffs between using language X vs. language Y.
Additionally, it's considered a plus to be familiar with some scripting
language such as perl, ruby, awk, etc. It's also nice to know the basics of
regular expression as they are now a mainstay in both the object oriented
and scripting worlds.
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 standard data
structures. You should know what each of these data structures is and how
they're implemented; what their runtimes are for common operations; and
under what circumstances it would be beneficial to use one. The below are in
no particular order.
Array
Linked List
Tree (Tree, Binary Tree, Binary Search Tree, Red-Black Tree, etc.)
Heap
Hash Table
Stack
Queue
Trie
Graph (both directed and undirected)
Algorithms
It's also important to know efficient ways manipulate data. One great way of
doing this is brushing up on some common algorithms. We'll expect that you
can apply and discuss the tradeoffs between some commonly used algorithms.
Sorting
Bubble Sort
Merge Sort
Quick Sort
Radix/Bucket Sort
Traversals (On multiple data structures)
Depth First Search
Breadth First Search
Coding
Expect to be asked to code syntactically correct code – no pseudo code. If
you're 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 pen and paper. The most important thing a software engineer does at
Amazon.com is write scalable, stable, robust, and well tested code. These
are going to be the main criteria by which your code will be evaluated, so
make sure that you check for edge cases and common error inputs as well as
the “happy paths” through the code.
Object Oriented Design
Good design is paramount to extensible, bug free, and long living code. It's
possible to solve a software problem in an almost limitless number of ways,
but when software needs to be robust and extensible, it's important to know
some common techniques that help with this. 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 (singleton,
factory, adapter, bridge, visitor, command, proxy, observer, etc.) as well
as know how to write software in an object oriented way with appropriate use
of inheritance and aggregation.
Databases
Most of the software that we write is backed by a database somewhere. A lot
of the challenges we face come in to play when interfacing with existing
data models and when designing new data models. You should know the basics
of how relational databases work, how to design relational database schemas,
as well as how to write basic SQL queries against a database.
Distributed Computing
Our systems at Amazon.com usually have to work under very strict tolerances
at 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 map-reduce, service
oriented architectures, distributed caching, load balancing, etc. will help
you in formulating answers to some of the more complicated distributed
architecture questions you might encounter.
Internet Topics
This is Amazon.com, we're an online company 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 internet browsers do what they do, DNS lookups, what
TCP/IP and HTTP are, sockets, etc. We're not looking for network
engineering types of qualifications, but a solid understanding of the
fundamentals of how the web works is a requirement.
Operating Systems
You won't need to know how to build your own operating system, but you
should be familiar with some OS topics that can affect code performance,
such as memory management, processes, threads, synchronization, paging,
multithreading, deadlocks (causes, detection, avoidance). | d********t 发帖数: 9628 | 3 对非CS的有没有点优惠?
of
are
real
【在 S**I 的大作中提到】 : Sent by Amazon recruiter: : Thank you for the interest in Amazon.com and taking the time to speak with : us about some of the exciting opportunities that we have available. We've : put this document together to help give you an idea of what types of : knowledge we expect some level of familiarity with. : Preparing for Your Interview : At Amazon.com we're looking for talented engineers that can apply the : knowledge that they've learned in school and in industry to solving some of : the world's most complicated software problems. As such, our interviews are : mainly focused on how well you can use your acquired knowledge to solve real
| y*******g 发帖数: 6599 | 4 除了bloomberg没听说码农职位对非cs有优惠的
【在 d********t 的大作中提到】 : 对非CS的有没有点优惠? : : of : are : real
| d********t 发帖数: 9628 | 5
唉,看来没戏了,有几个topic没啥认识。
【在 y*******g 的大作中提到】 : 除了bloomberg没听说码农职位对非cs有优惠的
| y*******g 发帖数: 6599 | 6 大的方向的看组,做firmware的不知道distrubited system应该也无所谓
前面数据结构,算法什么的准备码工的肯定要知道
【在 d********t 的大作中提到】 : : 唉,看来没戏了,有几个topic没啥认识。
| d********t 发帖数: 9628 | 7
software developer engineer/test是啥组?
【在 y*******g 的大作中提到】 : 大的方向的看组,做firmware的不知道distrubited system应该也无所谓 : 前面数据结构,算法什么的准备码工的肯定要知道
| y*******g 发帖数: 6599 | 8 会告诉你什么组的吧?问问你的recruiter
也可能是general 先进然后选组的,那样的话应该给amazon的老本行 web有所了解,
上面那个list应该是给sde的,test不清楚,找找面经?
【在 d********t 的大作中提到】 : : software developer engineer/test是啥组?
|
| l****s 发帖数: 165 | 9 amazon jobs & interviews:
http://jobguiding.com/it-jobs/it-companies/amazon.html
【在 d********t 的大作中提到】 : Software Development Engineer ,说会有design, data structures, algorithms : and basic coding,有熟悉的吗? : 谢谢!
|
|