Wednesday, January 6, 2010

Re: amazon onsite 面经 - 未名空间(mitbbs.com)

3. Design a fight ticket booking system.

4. 老板说网站很慢怎么办?
老板说数据库很慢怎么办?

Problems like No4 are very popular. These are testing your problem solving
skill, troubleshooting skill and past experience.

Mostly it is not expected to have perfect answer for these problems. Most
likely how you troubleshoot these problems. For example, for application
being slow:
- checking what has changed (data volume, code, hardware, database?)
- adding metrics collection/profiling [to figure out which part is taking
most of the time]
- adding monitoring [when it is slow, can you trigger some alarm to take
snapshot of the system for future analysis? Can you add some code to send
email/page to get immediate attention]
- review design/architecture/database for optimizations and improvments
- if you figured out which part is slow, how do you address that. what are
the possible senarios?
= SQL/DB related? improve SQL? SQL plan? Index? DB tricks?
= Memory, CPU, I/O,network throttled? how to improve?
= Parallelize? Algorithm optimization? etc etc.

skill, troubleshooting skill and past experience.


= Memory, CPU, I/O,network throttled? how to improve?
= Parallelize? Algorithm optimization? etc etc."

No comments:

Post a Comment