1
ansheng 2016-10-24 16:59:52 +08:00
还没面
|
2
qwer1234asdf 2016-10-24 17:42:12 +08:00
LRu/binary search/reverse list....
|
3
ma125125t 2016-10-24 17:45:24 +08:00
搞一个开源社区收集这些资源,配上答案,诸位觉得如何?不管有没有商业价值, star 想必是不少的。
|
5
ma125125t 2016-10-24 18:35:36 +08:00
@practicer 我楼上没说清楚,这个开源社区收集的是面试遇到过的题目,配上答案,并且可以根据投递数排序,看看那些题目是最热门的最容易考的,用户量大了甚至可以付费看前几名的题目或者买答案。
|
7
kx5d62Jn1J9MjoXP 2016-10-24 19:25:11 +08:00
冒泡排序
|
8
Nexvar OP |
11
lcsoft 2016-10-24 23:04:00 +08:00
冒泡排序,大数乘法。
|
12
aznfy 2016-10-25 02:36:01 +08:00
@ma125125t http://www.geeksforgeeks.org/ free...
|
14
zhangbohun 2016-10-25 08:09:02 +08:00 via Android
快排
|
15
MrFireAwayH 2016-10-25 09:40:03 +08:00 via Android
通过解释 A*成功装逼……
|
16
liubo 2016-10-25 09:43:16 +08:00
归并排序,要求空间复杂度 O(1);
杨氏矩阵,就是算法导论里的那题... |
17
l6751902 2016-10-25 09:45:57 +08:00
..当时面试官们手指了指白板风轻云淡的来一句:推 Fourier ,当时那一大群草泥马跑过去的心情。。。想摔门走了。。虽然到最后只是讲思路...
|
18
66beta 2016-10-25 09:48:13 +08:00
1 、双头队列的一串数字
2 、用户决定,他自己先抽或让系统先抽 3 、用户跟系统轮流抽一个,每次都可以从任意一头抽取一个数字 4 、最终比总和大小论输赢 需要结果:用户稳稳得输掉.... |
22
alienx717 2016-10-25 11:24:39 +08:00
@MrFireAwayH 哈哈哈厉害
|
23
aksoft 2016-10-25 11:35:22 +08:00
这么多算法,实际项目用到的比牛逼用到都少。
|
24
chiu 2016-10-25 11:55:23 +08:00 via Android
判断大小端
|
26
hanzichi 2016-10-25 13:21:00 +08:00
没遇到过一道 ...
|
27
myv2ex 2016-10-25 13:33:17 +08:00 1
4 种常用基本排序,树前中后序遍历,字符串倒置,斐波那契, 8 皇后,除了基本的排序,大部分已考察你的递归能力。
|
28
shimanooo 2016-10-25 13:34:22 +08:00
threesome?
|
29
myv2ex 2016-10-25 13:34:57 +08:00
对了还有 AStar ,我做 GEF 图形化的东西,每次必问
|
30
hkalexyeung 2016-10-25 18:42:03 +08:00
不要说很难的吧,光是 reverse array 都已经很多人做不来了,面试了好几个都写不出来,现在用 libaray 的人很多,基本功好的真的不多
|
31
cncqw 2016-10-25 19:09:27 +08:00 1
有一次面试遇到一个逗逼 问了我一个猴子吃香蕉的算法
|
32
BruceYuan 2016-10-25 20:05:38 +08:00
@hkalexyeung python 和 js 这种不是可以直接调用 reverse 吗?这样不算吗?
|
33
hkalexyeung 2016-10-25 21:02:52 +08:00
@BruceYuan 用 library 谁都会啦,那你知道 reverse 用了多少 memory 吗?这个问题看似很简单,但背后一大堆理论在后面。就好像一个最好的厨子,一定要会炒青菜一样。基本功才是解决问题的根本因素之一,去 stackoverflow copy and paste 是高效,但我们做技术的,总会将来面对一些问题是前无古人的,解决最难的问题的人,基本功肯定是好的。
我面试了几个人,连 reverse 都自己写不来。。。:'( |
34
BruceYuan 2016-10-25 21:24:04 +08:00
@hkalexyeung
def convertArray(arr): n = len(arr)/2 length = len(arr) for i in range(n): arr[i], arr[length - i -1] = arr[length - i - 1], arr[i] return arr if __name__ == '__main__': a = convertArray([1,2,3,4,5]) print a 是类似于这样吗?不过一般来说自己实现的东西要比原生的慢好多,比如同样的操作比 arr[::-1]慢了简直不要太多啊。 |
35
CodingPuppy 2016-10-25 21:26:59 +08:00
@66beta 挺有意思,是先生成数据,用户看到数据后,可以决定先抽后抽,还是用户先定先后,再生成数据?
|
36
hkalexyeung 2016-10-25 21:40:25 +08:00
@BruceYuan arr[i], arr[length - i -1] = arr[length - i - 1], arr[i] <-- 这句语法我喜欢!但你有没有编译之后的机器码呢?有机会看看 :D
现实是 reverse 没人会自己写的 :P 但面试问太难的算法的话,大家都背了答案,所以我这是返璞归真的问题 :P 其实,我还可以问 String.split, regular expression, parseInt...etc 太多大家天天在用的 functions 啦,然后叫候选人写一下,看看基本功好不好 (我承认我变态 :P) |
37
66beta 2016-10-26 09:54:36 +08:00
@CodingPuppy 没有差别吧,因为用户可以从两头取
|
38
shiny 2016-10-26 11:55:36 +08:00 via iPhone
面试是考察对方解决问题的能力,而不是难道别人。先问问自己平时遇到的都是些问题?
|
39
hkalexyeung 2016-10-26 12:49:10 +08:00
@shiny, 不难道别人,怎样看他解决问题的能力呢?
|
40
shiny 2016-10-26 15:45:41 +08:00 via iPhone
@hkalexyeung 想要难倒别人还不容易???
|
41
hkalexyeung 2016-10-27 11:50:33 +08:00
@shiny 有技术的难倒别人太难了,我面试题就想我整整两天。。。我的合伙人看到都哭了,哈哈
|