
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 基础算法基础,我的理解是: 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 我的一次真实面试经历: 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 写 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 怎么工作什么的可以帮助你更好的写代码 |