物质的令人发指!# Fashion - 美丽时尚c*r2010-06-15 07:061 楼BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,基础题都答不好。。。
x*w2010-06-15 07:063 楼这题很难,没记过算法的基本会跪【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
d*x2010-06-15 07:065 楼难么?只要记住切入点就可以了1. 从这个节点是叶子节点的最简单情况开始2. 推及如果这个节点不是叶子节点,且只有一个子树,则直接删掉把子树和父节点一连就完事3. 再推及如果这个节点有两个子树,就去找这个节点的中序前驱,如果中序前驱是个叶子节点,则换一下,删掉完事,如果中序前驱不是叶子节点,则其必然没有右子树,于是参考2可以解决关键是逻辑清楚,记两个关键点,剩下的现推都能推出来。背的话,算法这么多怎么背得过来,25岁以后记忆力都在减退了【在 x*********w 的大作中提到】: : 这题很难,没记过算法的基本会跪
j*22010-06-15 07:067 楼这样定义的话,还有好多伪善的题,不说别的,quicksort如果没温过,能写得滴水不漏吗?这种东西就好像,你没见过牛顿定理,让你现推。。。知道的都觉得奇简单,不知道的,我要能推出来那不是牛顿了?这些基本的东西,能现场做出来那都是mission impossible
d*x2010-06-15 07:069 楼quicksort也是一样的本身sort没什么难的,一个递归。关键是partition的不变量要记住,或者一旦理解了循环不变量的概念,现场重新构造不变量也能写出来。比如说,我现在大概知道partition是需要把pivot放到末尾,然后把所有小于pivot的变量移动到数组前段。我还知道这里应该大体有俩指针。于是构造两个不变量,m指向所有比pivot小的元素段的后一个元素, n指向当前正要和pivot比较的元素,于是两者都可以初始化为0 —— 0是满足这两个条件的,然后当前元素由不变量可知是a[n],和pivot比较,要保持不变量,如果这个元素比pivot小,则把它和a[m]互换并且m++,因为a[0...m-1]是我们已经得到的结果,这个不会破坏不变量。如果它比pivot大,则m不需改变。接下来因为a[n]已经比较完毕,做n++。直到pivot前面的元素比较完毕之后,结束循环。这样写出来的程序相当于有严格的数学证明,逻辑上基本不会出错【在 j******2 的大作中提到】: 这样定义的话,还有好多伪善的题,不说别的,quicksort如果没温过,能写得滴水不: 漏吗?这种东西就好像,你没见过牛顿定理,让你现推。。。知道的都觉得奇简单,: 不知道的,我要能推出来那不是牛顿了?这些基本的东西,能现场做出来那都是: mission impossible
x*w2010-06-15 07:0611 楼区别就是quicksort常见,这个不常见,所以很容易挂【在 j******2 的大作中提到】: 这样定义的话,还有好多伪善的题,不说别的,quicksort如果没温过,能写得滴水不: 漏吗?这种东西就好像,你没见过牛顿定理,让你现推。。。知道的都觉得奇简单,: 不知道的,我要能推出来那不是牛顿了?这些基本的东西,能现场做出来那都是: mission impossible
y*s2010-06-15 07:0612 楼那拿个2到处抡岂不更拉风...其实想想。设计很科学啊。去party.跳舞,high的时候,不用拿包【在 I*****e 的大作中提到】: 其实想想。设计很科学啊。: 去party.跳舞,high的时候,不用拿包
R*y2010-06-15 07:0615 楼BST deletion? 是指单独删除某个节点么? 如果要删除某个节点及其以该节点为根的子树,那就直接删掉就可以了。如果删除单独节点,并且要保持原有的BST性质就要调整节点。
a*92010-06-15 07:0616 楼hahaha~~~【在 y**s 的大作中提到】: 那拿个2到处抡岂不更拉风...: : 其实想想。设计很科学啊。: 去party.跳舞,high的时候,不用拿包
c*r2010-06-15 07:0617 楼动手写写,别看答案先【在 R**y 的大作中提到】: BST deletion? 是指单独删除某个节点么? 如果要删除某个节点及其以该节点为根的: 子树,那就直接删掉就可以了。如果删除单独节点,并且要保持原有的BST性质就要调: 整节点。
G*A2010-06-15 07:0619 楼这题从另个角度解决是不是更简单?1) convert BST to vector of nodes2)delete the target node3) convert back to BST【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
c*r2010-06-15 07:0621 楼呵呵,只要面试官同意,看他们想考察什么啦【在 G****A 的大作中提到】: 这题从另个角度解决是不是更简单?: 1) convert BST to vector of nodes: 2)delete the target node: 3) convert back to BST
h*92010-06-15 07:0623 楼这种算法面试题,只能去考那些刚毕业的。 码工很多年的,没几个真用过这类算法,就算用过,只要两年内没用,早就忘了。【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
c*r2010-06-15 07:0625 楼问题是那几家牛公司,不论有无经验的都考算法【在 h*****9 的大作中提到】: 这种算法面试题,只能去考那些刚毕业的。 码工很多年的,没几个真用过这类算法,: 就算用过,只要两年内没用,早就忘了。
T*U2010-06-15 07:0630 楼对阿跳的high了还可以甩的美金,信用卡满天飞多有劲啊!【在 I*****e 的大作中提到】: 其实想想。设计很科学啊。: 去party.跳舞,high的时候,不用拿包
d*x2010-06-15 07:0631 楼像selection,insertion,也一样是保持循环不变量。【在 c*****a 的大作中提到】: 除了quick sort/merge sort,其他神马bubble,selection立马跪了
t*h2010-06-15 07:0633 楼这个角度不错【在 G****A 的大作中提到】: 这题从另个角度解决是不是更简单?: 1) convert BST to vector of nodes: 2)delete the target node: 3) convert back to BST
J*a2010-06-15 07:0635 楼bubble\selection比quick和merge简单多了。。。【在 c*****a 的大作中提到】: 除了quick sort/merge sort,其他神马bubble,selection立马跪了
O*d2010-06-15 07:0637 楼这是考刚毕业的。 过了30岁的人,基本上不会有人可以在事前不知道的情况下,立即写出来。 你现在去参加高考,考得过当年的高中生吗? 工作中用算法的地方很少。即使要用,也有现成的库让你调用。 如果必须要自己写,也是要读参考书。 当然,很多考官不这样想。【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
O*d2010-06-15 07:0638 楼一般考官考的都是他们知道的算法。 一定有很多算法他们也不能立即回答。 我很不明白,为什么这些大公司把算法看得那么重,还要考生不加思索就能回答问题。 实际工作中几乎用不着算法。 就跟微积分一样,你知道,说明你聪明。 但如果你不知道,也不能说明任何问题。 我在大学里学微积分是优等生。但现在,除了知道微积分的基础是极限和连续性之外,其他的东西都要翻书才能回答。从我做码工经历体会到,做码工,最重要的是要懂"code complete"那本书里讲的东西。 还有“writing solid code". 都是好书。 只要你对算法知道一些,做一个优秀的码工,这两本书比任何其它书的分量都大。当然,我不是招人的。 在这里说说也是白说。
O*d2010-06-15 07:0639 楼平时设计软件时,loose coupling和tight coupling的概念经常要用到。 我从来没有被人问到过这个问题。还有,exception safety也是一个重要的需要考虑的东西,也是从来没有人问过。
j*x2010-06-15 07:0640 楼去年面startup,被一个刚毕业的小本问这题,直接跪了【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
J*o2010-06-15 07:0641 楼马一下这两本书, 当然还是得先过了面试再说【在 O*******d 的大作中提到】: 一般考官考的都是他们知道的算法。 一定有很多算法他们也不能立即回答。 我很不明: 白,为什么这些大公司把算法看得那么重,还要考生不加思索就能回答问题。 实际工: 作中几乎用不着算法。 就跟微积分一样,你知道,说明你聪明。 但如果你不知道,也: 不能说明任何问题。 我在大学里学微积分是优等生。但现在,除了知道微积分的基础: 是极限和连续性之外,其他的东西都要翻书才能回答。: 从我做码工经历体会到,做码工,最重要的是要懂"code complete"那本书里讲的东西: 。 还有“writing solid code". 都是好书。 只要你对算法知道一些,做一个优秀的: 码工,这两本书比任何其它书的分量都大。: 当然,我不是招人的。 在这里说说也是白说。
z*32010-06-15 07:0642 楼这个startup不行啊我记得混startup的公孙大神说过上来就是code challenging给你24小时,24小时之内完成一个prototype否则滚蛋,搞出来就基本上可以给offer了如果是这样的话,我觉得蛮好【在 j********x 的大作中提到】: 去年面startup,被一个刚毕业的小本问这题,直接跪了
z*32010-06-15 07:0643 楼应该有人问过你design pattern的问题吧?如果有经验的话,这个就是coupling相关的了【在 O*******d 的大作中提到】: 平时设计软件时,loose coupling和tight coupling的概念经常要用到。 我从来没有: 被人问到过这个问题。还有,exception safety也是一个重要的需要考虑的东西,也是: 从来没有人问过。
j*x2010-06-15 07:0644 楼小startup的特点是直接,不玩虚的,所以有各种奇葩都不奇怪【在 z*******3 的大作中提到】: 这个startup不行啊: 我记得混startup的公孙大神说过: 上来就是code challenging: 给你24小时,24小时之内完成一个prototype: 否则滚蛋,搞出来就基本上可以给offer了: 如果是这样的话,我觉得蛮好
k*22010-06-15 07:0646 楼觉得好多题都是这样,貌似很基础,但是没做过的话真心不容易一下子给出neat的bugfree代码,很容易给人基础不牢的感觉。。我觉得包括reverse linked list, inorder遍历的循环解法都是这类。。看来还是我太弱了。。不知道要做多少题才能质变啊。。
Y*f2010-06-15 07:0647 楼这个逻辑很简单,写起来还是比较麻烦的【在 d**********x 的大作中提到】: 难么?只要记住切入点就可以了: 1. 从这个节点是叶子节点的最简单情况开始: 2. 推及如果这个节点不是叶子节点,且只有一个子树,则直接删掉把子树和父节点一: 连就完事: 3. 再推及如果这个节点有两个子树,就去找这个节点的中序前驱,如果中序前驱是个: 叶子节点,则换一下,删掉完事,如果中序前驱不是叶子节点,则其必然没有右子树,: 于是参考2可以解决: 关键是逻辑清楚,记两个关键点,剩下的现推都能推出来。背的话,算法这么多怎么背: 得过来,25岁以后记忆力都在减退了
x*o2010-06-15 07:0648 楼selection和insertion还能写,最基本的double loop,换成这些立马跪了【在 c*****a 的大作中提到】: 除了quick sort/merge sort,其他神马bubble,selection立马跪了
s*w2010-06-15 07:0649 楼这种题就是考茴香豆的第四种写法BST 删除的若干种情况,除了那几页书,别的地方再也用不上;脑袋里存了这种极端case,就转不动了【在 c********r 的大作中提到】: BST deletion, 伪善的面试官很喜欢出,貌似很基础,大家都应该会,你答上来也没: 啥加分,但是不练熟,真的会跪,你跪了事儿就大了,接下来的评价就是基础不扎实,: 基础题都答不好。。。
a*02010-06-15 07:0650 楼算法这东西主要是靠逻辑吧,真正去背算法步骤的,那都是没掌握要领的【在 O*******d 的大作中提到】: 一般考官考的都是他们知道的算法。 一定有很多算法他们也不能立即回答。 我很不明: 白,为什么这些大公司把算法看得那么重,还要考生不加思索就能回答问题。 实际工: 作中几乎用不着算法。 就跟微积分一样,你知道,说明你聪明。 但如果你不知道,也: 不能说明任何问题。 我在大学里学微积分是优等生。但现在,除了知道微积分的基础: 是极限和连续性之外,其他的东西都要翻书才能回答。: 从我做码工经历体会到,做码工,最重要的是要懂"code complete"那本书里讲的东西: 。 还有“writing solid code". 都是好书。 只要你对算法知道一些,做一个优秀的: 码工,这两本书比任何其它书的分量都大。: 当然,我不是招人的。 在这里说说也是白说。