1
huanghua123 2017-05-21 14:14:15 +08:00
意思就是能写二分查找就行。
|
2
gaoyadianta OP @huanghua123 求不闹,正经解释
|
3
Asan 2017-05-21 14:21:50 +08:00 via Android
事实上是他们都不知道这条要求是什么意思
|
4
gaoyadianta OP @Asan /(ㄒoㄒ)/~~好惨
|
5
huanghua123 2017-05-21 14:44:11 +08:00
@gaoyadianta 正经的就是这样。。面了美团,网易等公司,都让写二分查找,最多再让你说下快速排序。
|
6
zetary 2017-05-21 14:46:16 +08:00 via Android
也许是有 oi 或者 acm 经历…
|
7
misaka19000 2017-05-21 14:55:01 +08:00
看岗位吧,不同岗位要求不一样
|
8
linhua 2017-05-21 14:58:36 +08:00 via Android
反转二叉树
|
9
kindjeff 2017-05-21 15:09:12 +08:00
虽然总是看见类似上面几楼的说法,但是为什么我遇到过的笔试题都比快排 /二分查找难写啊~
|
10
lechain 2017-05-21 15:27:43 +08:00
其实有时候我也有这种困惑,虽然我还在读书,不过有时候会去想自己能否达到那些招聘要求上写的东西,
话说 拿过 OI 省一 ACM 省二, 读完一遍 CSAPP 的算有良好基础的吗? QWQ |
12
wenmingvs 2017-05-21 15:37:14 +08:00 13
基础算法基础,我的理解是:
1. 八大排序,三大查找 2. 常见树的形式与树的增删查改 3. 图的遍历方式与最短路径算法 以上 3 种,熟知空间复杂度和时间复杂度,并且能手写出基本场景的代码。 |
13
chenyu0532 2017-05-21 15:47:20 +08:00
12 楼正解,面试的时候能快速手写出来
|
14
woshixiaohao1982 2017-05-21 16:21:49 +08:00
@chenyu0532 面试能讲清楚数据库索引的类型就 不错了,才那么点时间,还手写,,哈哈
|
15
yidinghe 2017-05-21 16:25:39 +08:00 via Android
能搞懂红黑树就算很牛的人了我觉得。
|
16
sangmong 2017-05-21 16:32:45 +08:00
mark
|
18
Shura 2017-05-21 17:05:13 +08:00 via Android
@woshixiaohao1982 b 树需要讲那么久吗?
|
19
unoyx 2017-05-21 17:14:44 +08:00
刷 leetcode 就行了。小公司刷完 easy,一二线互联网刷完 mid,成功人士刷完 hard。
不过,你要考虑面试不一定出原题…… |
20
Tunar 2017-05-21 17:25:43 +08:00 via Android
找找大学课本,刷 leetcode
|
21
woshixiaohao1982 2017-05-21 17:31:17 +08:00
@Shura 谢谢,索引类型有红黑树 Hash 索引 B+树
|
22
woshixiaohao1982 2017-05-21 17:33:57 +08:00
@Shura 每种索引类型都是有自己 适用场景的,例如 16 进制的 UUID 就适合 hash 索引 而不是 B+树,每种索引类型不一样,10 分钟能讲清楚 3 中索引的大概数据类型实现,还有不同的使用场景 就不错了,还有 20 分钟跟面试 扯一下自我介绍,或者面试官提问之类的
|
23
woshixiaohao1982 2017-05-21 17:34:54 +08:00
@Shura 我上次面试国泰君安的外包,开发经理还问我 TCP 结束连接 有几次握手呢,不过我 TCP/IP 协议详解 ,看了之后忘了
|
24
woshixiaohao1982 2017-05-21 17:37:24 +08:00
实际上 经典基本的数据结构与算法,无非就是算法导论或者算法第四版 上那些算法,能搞懂 80% 搞清楚各个算法的适用场景 其时间复杂度,就已经算个半吊子合格程序员了,搞懂这些东西的好处就在于,你以后去读什么数据库原理 编译原理 操作系统原理的时候就不会懵逼了,不会突然蹦出来 此处采用红黑树实现,然后你带着 100 个黑人问号 去搜索红黑树的问题了
|
25
woshixiaohao1982 2017-05-21 17:41:22 +08:00
对于绝大部分业务场景来讲,不懂算法 其实也没什么 ,毕竟大部分工作 无非是找几个会写代码的码农把砖搬完,就算你一个动态规划 能够解决一个公司 价值上百万的业务逻辑,有什么用?专门搞那一块的自然有专门的算法工程师去搞,普通程序员 对算法 重在理解跟运用,在不同的业务场景下,知道哪个算法数据结构是最适用的 就已经算半个合格了
|
26
gaoyadianta OP 看了回复,我要补的课还很多
|
27
alcarl 2017-05-21 18:56:07 +08:00
算法是面试用的吧。。。。。专注业务实现的工作中还是看知识面,其实就是 google。。。。。
|
28
hanzichi 2017-05-21 19:45:00 +08:00
话说面试问到最难的就是快速排序了,难道因为我面的是前端?
|
29
formulahendry 2017-05-21 19:52:49 +08:00
我本科找工作那时候(四年前)的行情:八千块找以下招不到能正确写出二分查找的程序员。 不知道现在的行情怎么样了。
|
30
ittianyu 2017-05-21 19:58:14 +08:00
@gaoyadianta 面试前默写几天就好,不用太费心。大一那会被学长骗去搞 ACM,什么 数论、几何、深搜广搜、排序查找、贪心、动态规划。天天刷题,最巅峰的时候能熟练默写 二叉树、n 中排序、队列、栈等实现。后来幡然醒悟,干开发去了。2 年多没碰,现在根本基本写不出来,可能稍微对思维有点作用,然而工作基本用不上,早忘了。if (全部忘了) 完全没用
面试的时候也碰到过问 TCP 原理的,我有句...不知当讲不当讲。 |
31
ittianyu 2017-05-21 19:59:14 +08:00
@formulahendry 现在 4k 能招到搞过 ACM,github 有 800+星,博客 5w+ 阅读量的实习生。
|
32
wl9739 2017-05-21 20:25:08 +08:00 9
我的一次真实面试经历:
Q:“熟悉快速排序算法吗?” A:“熟悉” Q:“那好,请你解释一下快排的时间复杂度 NlnN 是怎么计算出来的。” A:“不好意思,刚才您问的什么?” Q:“解释一下快排的时间复杂度 NlnN 是怎么计算出来的。” A:“前面一句。” Q:“熟悉快排么?” A:“不熟悉” |
33
formulahendry 2017-05-21 20:33:56 +08:00
@ittianyu 我说的是全职员工。我们当时实习大多都是只有 3K 左右。
|
34
ittianyu 2017-05-21 20:44:52 +08:00
@formulahendry 不能这么个算法,4 年前北京放假多少,现在房价多少,在比较一下实习工资涨了没有。
|
35
zjddp 2017-05-21 20:58:52 +08:00
正在看剑指 offer,不知道 v2er 对这本书评价怎么样
|
37
acoldfox 2017-05-21 22:12:10 +08:00
写 php 很少写都忘差不多了
|
38
formulahendry 2017-05-21 22:15:46 +08:00
@ittianyu 所以我一直说的是四年前的行情呀。我并没有说现在的行情怎么样。实习和全职员工的工资没有可比性。 那时有些同学在大摩的实习工资一天 50,而最后转正的话,全职员工的工资又是多少呢。
|
39
20015jjw 2017-05-22 04:14:56 +08:00 via Android
Recursion / dp
Graph search / tree search / topological Graph operation / tree operation 参考 number of islands 和反转二叉树 String operation 参考 longest palindromic substring / longest xxx substring Bits operation Heap / Stack / Queue 参考 implement heap with Stack 和反过来 以及 trapped rain water 我觉得差不多了 |
40
Matrixbirds 2017-05-22 09:40:48 +08:00 via Android
@wl9739 hhh 好多人都是知道实现…(多半是死记忆),根本不知道原理就认为自己真的具备了计算机科学的『基础』能力…
|
41
gaoyadianta OP @alcarl 我感觉你理解的不对,你这种态度,基础能力包括最后的综合能力,可能不如那些基础好的
|
42
gaoyadianta OP @ittianyu 这么厉害了,小年轻实力好恐怖
|
43
gaoyadianta OP @20015jjw 你说什么?...
|
44
Nagisa1992 2017-05-22 11:04:04 +08:00
@wl9739 233333
|
47
cloverii 2017-05-22 11:13:57 +08:00 via Android
@wl9739 怪不得这个描述这么熟悉…我是在你博客底下留言那个 从你博客末尾那张图看 恕我直言 你根本不会排序
|
48
wl9739 2017-05-22 11:41:54 +08:00
@cloverii 你要这么说的话,那抱歉了。那篇博客写的确实有问题,证明不严格(数学已经忘得差不多了),末尾那张图是网上找的。确实是误人子弟。我还是删了吧。。。
|
49
Chrisplus 2017-05-22 12:29:00 +08:00
leetcode 上 medium 和 easy 的题可以秒,hard 题能做,大概是这个样子
|
50
zhangsen1992 2017-05-22 13:28:36 +08:00
@huanghua123 我面百度,也考二分查找。。。
|
51
20015jjw 2017-05-22 15:02:10 +08:00
@gaoyadianta 面试的时候的算法基础啊
|
52
gaoyadianta OP @20015jjw 这东西,真的就 TM 面试有用吗?
|
53
20015jjw 2017-05-23 03:56:22 +08:00 via Android
@gaoyadianta 反正我没在工作中写过太复杂的算法 但是理解 hash 怎么工作什么的可以帮助你更好的写代码
|