Cracking the coding interview
要能根据这个表格来扯项目。
Behavior questions
What questions should you ask the interviewer? Most interviewers will give you a chance to ask them questions. The quality of your questions will be a factor, whether subconsciously or consciously, in their decisions. Some questions may come to you during the interview, but you can - and should - prepare questions in advance. Doing research on the company or team may help you with preparing questions. Questions can be divided into three different categories: Genuine Questions: These are the questions you actually want to know. Here are a few ideas of questions that are valuable to many candidates:
- “How much of your day do you spend coding?”
- “How many meetings do you have every week?”
- “What is the ratio of testers to developers to product managers? What is the interaction like? How does project planning happen on the team?”
Insightful Questions: These questions are designed to demonstrate your deep knowledge of programming or technologies.
- “I noticed that you use technology X. How do you handle problem Y?”
- “Why did the product choose to use the X protocol over the Y protocol? I know it has benefits like A, B, C, but many companies choose not to use it because of issue D.” Passion Questions: These questions are designed to demonstrate your passion for technology.
- “I’m very interested in scalability. Did you come in with a background in this, or what opportunities are there to learn about it?”
- “I’m not familiar with technology X, but it sounds like a very interesting solution. Could you tell me a bit more about how it works?”
Chapter 7 Object-Oriented Design
- 解决模糊性 Six wS:who,what,where,when,how,why
- 定义核心对象
- 分析关系
- investigate Actions
有基本的框架。物体的关键actions和他们怎么和对方互相联系。