s*****n 发帖数: 5488 | 1 我个人认为,设计题是很open的讨论题,问设计题的单位一般来说要和用户交流。这题
首先考你交流能力。所以,说一千道一万都没有用的。要看面馆的交流。
第二,不理解为什么预订系统里面会有user这个概念。本质上,考预订这种题是考资源
管理方面的设计能力。例如多线程访问。而且可能是web系统,可能是本地系统。所以
,这个user在web到底是个什么?用户注册的账号?
所以,我认为答题是可以从最简单开始,例如房间预订就是概念上对资源(房间)和日
历的一个锁定。然后再问你要考OOD呢,设计模式 singleton呢(只能有一个booking
system, everyroom only one instance too).web系统呢,数据库设计呢,还是用什么
数据结构来存储呢,用什么rw锁还是什么锁呢,还是考虑怎么查询空房呢。
最后,方法一概念上肯定是错的。User 不可能has a room or booking system。 |
|
z*******y 发帖数: 578 | 2 你去看看那个career cup150题吧
这些都没有标准答案 合理就行 |
|
f**********t 发帖数: 1001 | 3 嗯,看了下CC,里面都给出了代码之类的~~~~
面试时会详细到代码的级别么? |
|
i**********e 发帖数: 1145 | 4 不会要求写完整详细的代码,但是会选择一些函数叫你来写。
通常都是叫你画图(不用像 uml 这样很正规,只要表示里面的 member functions 和
private data 即可),然后解释为什么你的 design 合理,给个 use case 的例子。
然后就叫你举出 class to class relationship 是什么,这有可能是 inheritance,
containment, one to one, one to many, many to one, 等等。 |
|
|
k*j 发帖数: 153 | 6 大家如何复习OOD的?
有没有能在短时间内快速复习的书?
求推荐!谢谢 |
|
k*j 发帖数: 153 | 7 我目前看了一下cracking the coding interview那书上的讲OOD的那一章节。不知道这
够不够。还得复习什么其他的材料吗? |
|
c**z 发帖数: 669 | 8 谢谢大家了,最好在St Louis area,
C/C++, Linux, Date Structure,Algorithm, OOD,请站内留下邮箱地址,我发简历至你
Machine learning, patter recognition
谢谢 |
|
i***1 发帖数: 415 | 9 Amazon二面后被拒了,也不说是什么原因。
其实一二面都不难,就是问问经历,做个OOD,问了个很简单的算法。一面后,他们说
我原先应聘的那个组招到人了(他们内部的)。二面就换了个组(还是在同一个部门下
面的)。二面也很简单(自我认为)。但是怎么就杯具了呢,不解。。。
一开始还信心满满的,拿下应该不成问题。郁闷呀。。。
不说原因,怎么死的也不知道,没法自我改进呀! |
|
c**z 发帖数: 669 | 10 CS小硕请求推荐码工职位,请站内联系我,我给您发简历。
十分感谢!
C/C++ 算法,数据结构,OOD, parallel programming |
|
l**2 发帖数: 126 | 11 大家常常说的那些算法题我就不说了。网上到处都是。
说点以前我没怎么见到过的,反正我这方面以前没咋准备过。我面试的时候他们似乎更
加关注系统设计。也一定不是OOD。
比方让你设计一个badge system,特别注重interface的设计。就是你pass什么value,
return什么value。为什么这样设计。整个系统你要特别注意些什么之类的。 |
|
B*******1 发帖数: 2454 | 12 写code都用上了design pattern了吗?
还是写出来work就好了? |
|
g*******e 发帖数: 61 | 13 昨天完成了A家的on-site, 一共四轮,最后一轮表现非常差,肯定挂掉了,继续海投吧
。之前在版上求了bless,现在攒RP,分享面经。
第一轮,美国小伙,说之前在MS,现在来A9个月了,Kindle组。目前参与A家的神秘项
目,不能讲太多项目内容,其实大家心里都知道是A的Tablet。
技术问题之前随意的聊了聊,然后问了一些很基本的CS问题。剩下20分钟,正式开始
tech question。很简单,给一本杂志,从里面剪字,看能不能找到指定的字符串。
我先给了brute force,O(n*m),然后说如果用hash table, O(n)。然后说不让用额外
的buffer,怎么做?想了想,sort之后找substring,O(nlgn)。讨论完之后,说让我挑
其中一个写code。我说brute force简单,写的快,给了code后,挑了挑毛病,按时完
成。
第二轮,美国小伙。那个组不记得了。主要是面我OOD方面的问题。先问了我熟悉不熟
悉Java,答道还OK吧,刚想说很久不用Java了,问题直接就出来了。描述一下Java的GC
机制。说实话还真是记不太清楚了,现在主要写Pyth... 阅读全帖 |
|
h*********n 发帖数: 915 | 14 第一问谁看懂了?什么叫杂志里剪字?
发信人: glorywine (glorywine), 信区: JobHunting
标 题: Amazon On-site 最新面经
发信站: BBS 未名空间站 (Sat Sep 17 10:51:50 2011, 美东)
第一轮,给一本杂志,从里面剪字,看能不能找到指定的字符串。brute force O(n*m)
,hash table O(n)。不用额外buffer,sort后找substring,O(nlgn)。brute force写
code。
第二轮,OOD问题。描述Java的GC机制。reference counting蒙对了。设计餐馆订餐系
统。
我给了需要那些class,那些functions。指定其中一个方法,伪代码实现。
第三轮,binary tree找common ancestor。给字符串,每个字符出现的频率。从高到低
输出。
第四轮,hash table的实现。Boggle code实现,给game board,找所有valid word。 |
|
h*********n 发帖数: 915 | 15 第一问谁看懂了?什么叫杂志里剪字?
发信人: glorywine (glorywine), 信区: JobHunting
标 题: Amazon On-site 最新面经
发信站: BBS 未名空间站 (Sat Sep 17 10:51:50 2011, 美东)
第一轮,给一本杂志,从里面剪字,看能不能找到指定的字符串。brute force O(n*m)
,hash table O(n)。不用额外buffer,sort后找substring,O(nlgn)。brute force写
code。
第二轮,OOD问题。描述Java的GC机制。reference counting蒙对了。设计餐馆订餐系
统。
我给了需要那些class,那些functions。指定其中一个方法,伪代码实现。
第三轮,binary tree找common ancestor。给字符串,每个字符出现的频率。从高到低
输出。
第四轮,hash table的实现。Boggle code实现,给game board,找所有valid word。 |
|
u***q 发帖数: 21 | 16 昨天电话一面自我感觉很差,今天意外被通知获得电话二面机会。
本人非CS专业,全凭自学,前阵子在网上投了简历。Amazon联系我一面。我在同意之后
上本站看各位的面经,感觉自己根本不可能通过面试。不管怎样,从未有过任何CS面试
的我打算体验一把。
电话接通后,打完招呼让我就自己的简历介绍一下当前做的project。顺便了解了我并
非CS专业。接下来是CS方面的问题。
问:OOD的几个概念。
答(略)
问:喜欢什么排序算法,为什么。
答:quicksort,因为很多语言有现成的library,不用自己实现
问:复杂度是多少
答(略)
问:什么情况下是这个复杂度
答:average
问:worst情况下是什么复杂度
答(略)
问:什么样是worst情况
答(略)
问:什么其他算法可以避免这个
答:binary search(我脑子里搞起来了)
问:那个不是排序呀
答:哦,是呀,对了,可以用merge sort
然后出了一道编程题。我一上来张口就说,大家沟通不清。让我登陆collabedit。他
spell快了点,我没听清这个网址。不得已他给我email了那个地址。
题目是给一个数组的成员进行... 阅读全帖 |
|
|
|
d*******u 发帖数: 186 | 19 能给讲一讲这个Designing Parking Lot OOD怎么回答吗? |
|
j***y 发帖数: 2074 | 20 我的recruiter给我来的信:We are also working on a position for a software
developer that has strong C++/OOD skills. Do you know anyone that would be
interested?
若有朋友感兴趣的话,可以把简历给我(h************[email protected]),我会forward
给recruiter。
声明一下:这个recruiter是猎头公司的,不过信誉似乎还行--Aerotek。 |
|
D***n 发帖数: 149 | 21 有童鞋做过没?
我选的Java,不知道考啥内容? (OOD 为主,还是concept or algorithms ?)
先谢谢了... |
|
b*******y 发帖数: 232 | 22 bless,
我内部refer一天就联系我了
不过面试太不靠谱了,非典型,第一个面试一个正规编程题包括ood都没有
第二个面试官也基本没有编程题
一上来给我说一堆他们组在干啥
后来,边面试边在电话里面笑,可能周围有同事在搞笑
然后说他不care他的同事,更想跟我聊天...
然后隔了几天,我就悲剧了,太坑爹了
最近M$竟然让我面试hardware engineer...这也太扯了,我什么都不懂了现在...
看来我真要把software,system,hardware都面一边了... |
|
b*******y 发帖数: 232 | 23 bless,
我内部refer一天就联系我了
不过面试太不靠谱了,非典型,第一个面试一个正规编程题包括ood都没有
第二个面试官也基本没有编程题
一上来给我说一堆他们组在干啥
后来,边面试边在电话里面笑,可能周围有同事在搞笑
然后说他不care他的同事,更想跟我聊天...
然后隔了几天,我就悲剧了,太坑爹了
最近M$竟然让我面试hardware engineer...这也太扯了,我什么都不懂了现在...
看来我真要把software,system,hardware都面一边了... |
|
S**I 发帖数: 15689 | 24 ☆─────────────────────────────────────☆
fengzhongdi (fzd) 于 (Fri May 27 14:30:18 2011, 美东) 提到:
A的onsite,我尽量客观写,大家帮我分析一下
第一个 美国人, 两个string,问第一个是否包含第二个的全部character,扩展是求第一
个string最短的substring包含第二个中所有的character.
我的解法是hashtable, 然后扩展问题是O(n)那个,先找到第一个包含全部的,然后从头
开始删除,接着从尾巴增加那个.面试官表示满意.
OOD是设计card game
交流过程很融洽.
第二个 hiring manage,印度人, 这个人带我去吃饭,然后问了我电梯设计问题,纠缠在
什么时候读楼层,还有如何判断要不要停下来接人.说了快50分钟.我个人感觉还好,反正
他也是都是笑到最后
第三个,白人,一开始问我LRU cache的设计,我直接告诉他double linked list + hash
table,他很吃惊问我是不是准备过,我说是,然后换了一题Bian... 阅读全帖 |
|
Z**********4 发帖数: 528 | 25 msft:
reverse string里面的words
经典的那个。
amazon:
一面: 概念题, ood设计题, regular expressions sql
二面: 打印从棋盘的一个角落到另一个角落所有路径
三面: 有一个dictionary, 从一个given start word 怎么变换到一个 end word 类似
于
edit distance 但是简单些 所有的words都是4个字母。 要求每次变换得到的
中间 word都是字典里面的。每次只能变换一个字母。 |
|
Z**********4 发帖数: 528 | 26 msft:
reverse string里面的words
经典的那个。
amazon:
一面: 概念题, ood设计题, regular expressions sql
二面: 打印从棋盘的一个角落到另一个角落所有路径
三面: 有一个dictionary, 从一个given start word 怎么变换到一个 end word 类似
于
edit distance 但是简单些 所有的words都是4个字母。 要求每次变换得到的
中间 word都是字典里面的。每次只能变换一个字母。 |
|
e***s 发帖数: 799 | 27 楼主,求head first的哪两本书,复习OOD 和 design pattern? |
|
e***s 发帖数: 799 | 28 楼主,求head first的哪两本书,复习OOD 和 design pattern? |
|
q******8 发帖数: 848 | 29 find intersections of two sorted/unsorted arrays? what if the sorted
arrays follows uniform distribution?
什么follows uniform distribution?
5.data structure for arithmatic expression? What OOD principal should you
use? What design pattern to use if you need to add many functions to your
data structure?
这个第二问是什么design pattern? |
|
y*******g 发帖数: 6599 | 30 一般来说是,少数牛人除外吧
好比你的专业其他人看看面经能比你们做的好么?
不过科班也大部分就混混日子,比如我:)
我感觉区分科班和非科班的主要课程是os, compiler, computer architecture,
network. 但这些东西面试短时间用不上,
要拿到工作还是看语言,算法和ood |
|
r***y 发帖数: 4379 | 31 同意牛魔王.
average 软工混碗饭, 一门(以上)过硬的语言, data structures +
algorithm analysis, ooa+ood(这个现在非CS的也都有了解).
不同领域会深入涉及--OS, compilers/automata, computer architecture,
networks, cloud computing, HPC... |
|
y*******g 发帖数: 6599 | 32 当然是公司不同
不过大公司onsite得话,每个面试官通常有focus,简历,基本概念(regular
expression, etc),position-specific 要求 ,coding,算法,ood,系统设计等等
做的快自然会问得更深或者更多题目,通常是好事。即便高难题目没做出来 |
|
y*******g 发帖数: 6599 | 33 当然是公司不同
不过大公司onsite得话,每个面试官通常有focus,简历,基本概念(regular
expression, etc),position-specific 要求 ,coding,算法,ood,系统设计等等
做的快自然会问得更深或者更多题目,通常是好事。即便高难题目没做出来 |
|
y*******g 发帖数: 6599 | 34 设计,ood那种
lab16和apple都因此废了 |
|
q****x 发帖数: 7404 | 35 class Piece {
int color;
int position;
};
class King: public Piece {};
class Queen: public Piece {};
...
class Board {};
class Game {
vector _pieces;
Board _board;
};
一点继承和多态,还能加点啥? |
|
v*****k 发帖数: 7798 | 36 你总得加走法和判断吃子/将军/胜负啊?如果是比赛还要加计时系统。如果是练习可以
加悔棋/复盘系统.... |
|
n*******w 发帖数: 687 | 37 一些简单user cases都不算容易通过。
比如
把棋从(x y) 移到 (x' y')
快速判断某个位置是不是已经有棋子了
移动id为1的棋子
。。。。。。
每种棋子是什么类型最好弄成enum类型。 |
|
S*******0 发帖数: 198 | 38 public abstract class Piece {
private String pieceColor;
public Piece() {
}
public String getPieceColor() {
return pieceColor;
}
// boolean isOppositeColor()
abstract public String getName();
abstract public boolean isRoadOk(Board board, String from, String to);
}
King, Queen, Bishop, Knight, Rook, Pawn 都继承一下Piece
public class Board {
private Square[][] squares = new Square[8][8];
public Board() {
//set the 32 pieces
}
public Square[][]... 阅读全帖 |
|
|
q****x 发帖数: 7404 | 40 还能加点啥油盐酱醋?Slot有large,mid-size,compact之分,搞个继承/多态出来?
class Slot {
public:
int calcFee();
void resetTimer();
private:
int timeStamp;
};
class Manager {
public:
Slot* getFreeSlot();
void reclaimSlot(Slot* s);
private:
list freeSlots;
list occupiedSlot;
}; |
|
v*****k 发帖数: 7798 | 41 handicapped parking?level?...你估计还得搞一套车的东西 |
|
v*****k 发帖数: 7798 | 42 我挺衰,G准备了半天编程结果全是开放性的问题,还问了reference counting和
syncronized机制。Amazon准备了不少OOD的结果一点没问。 |
|
l***i 发帖数: 289 | 43 哎,一面大意了,面完赶紧准备算法。二面答的比较顺利,还问到了比较拿手的OOD。
看看三面是碰到啥样的面试哥吧。 |
|
n*******w 发帖数: 687 | 44 1. copy linked list with random link in each node
意思是每个node里边多了一个variable,randomly 指向后面的某个node吧。
先复制成big linkedlist再separate的确不错。
不过也可以直接clone。clone的过程中,设置一个temporary array存node。如果clone
到某个node的时候,把temporary array中指向该node的设置好。
2. code IsBST
说的是带两个参数min max吧。
这题面试中也被问到过。用min max做的。而且进一步还要求用iterative 遍历写code。
3. customers want to buy some products but the products are out of stock,
design a system to notify them when those products are again available.
感觉是考ood设计,是典型的observer pattern。product设计成一个c... 阅读全帖 |
|
K*****k 发帖数: 430 | 45 1. 动态规划,包括经典NPC的变体题
例子:
最大邮资问题,多重背包的变体,G面经
直方图最大矩形和蓄水问题,G面经,虽然和最大子数组的和那样有O(N)的贪心或者栈解法,但还是有DP的影子。
让你对LIS问题加速得到NLogN的解法
Amazon发货天数的问题,百层楼扔鸡蛋题的变体,A电面面经
2. 陌生数据结构
例子:
后缀树,红黑树, 含random指针的链表复制
虽然说后缀树可以快速解决LCA问题,但很多人具体细节不知道
3. 开放性问题,OOD, 大规模数据量
特别是非经典设计题,比如设计一个类似SVN的版本管理系统。看来只能从熟悉的设计
题去套了?
如果这三种问题都能游刃有余,应该没什么码工码农的面试题能抵挡你了。 |
|
l*******e 发帖数: 127 | 46 先介绍下自己背景,希望对一些同学有参考作用。
我本科通信工程,目前是在加拿大读ECE MSc , 专业背景主要是硬件方面,本科搞了一年多的
Embedded,
然后有三年多的FPGA设计经验,硕士也是做FPGA 设计。最熟的就是Verilog/VHDL。 软件方面
C语言算比较熟的,C++/Java 学过,快忘光了,基本的OOD 概念还是懂的,但是没啥项目经验。
在九月份学校career fair 上好不容易找到了MS的cube,扔了简历,也参加了他家当天的
Information session。 本以为石沉大海,然后在一个多月后的一天收到了第一轮on-capus
interview的邮件。
第一轮问的问题很简单:1. why MSFT 2. What is your most challenging project
3
. reverse words in a string 4. test a mouse..., 大约30多分钟就over了, 然
后HR
说我test的那个题做的很不错,推荐我SDET,我说随便。
大约两周后收到final second round 的邮件,不过并不... 阅读全帖 |
|
|
K*****k 发帖数: 430 | 48 对OOD毫无思路
一个大楼,10层,4个电梯,怎么设计类来实现这样一个系统? |
|
n*****h 发帖数: 549 | 49 比如car rental system,
class customer里面应该有
send_rental_request()
相应的,
carRentalSystem里面应该有,
respond_request()
这两个function之间应该怎么联系起来? |
|
q****x 发帖数: 7404 | 50 system provides a public method for users to call. why need 2? |
|