工作三年,基本用不到面试中看到的所有算法, 连排序都没怎么用到过, 现在一看算法就头大, 你们平时会用到很多算法吗, 各种数据结构? 面试前怎么准备呢?
|  |      1gowk      2018-10-10 17:25:43 +08:00 强迫自己看进去,有滋有味的学起来,不会数据结构和算法的程序员不是好程序员~ | 
|  |      2harde      2018-10-10 17:29:10 +08:00 不是吐槽,但的确想问问楼主,算法和数据结构都没用到你这三年都干什么了。。。。 | 
|  |      3qq976739120      2018-10-10 17:32:17 +08:00 我觉得原题那样的使用的确是没有的,但是思想是经常用到的,我最常用到的是 动态规划 | 
|  |      5kljsandjb      2018-10-10 17:53:39 +08:00 via iPhone 多刷刷题其实感觉会不一样,你会觉得有所收获,哪怕做不出来你能看答案理解了也比不看好,当然最好还是自己先做出来,哪怕用最笨的方法 | 
|  |      6Raisu      2018-10-10 17:56:36 +08:00 via Android 看算法导论,一本解决 | 
|  |      8takato      2018-10-10 18:00:58 +08:00 我很难理解“不接触算法”这个概念。 毕竟做很多事情的时候其实都用得到的诶。 | 
|      9haikuo93 OP @harde 开发的工作基本都是在别人的基础上进行的, 没有从 0 到 1 开发过, 不管是新功能还是改 bug, 都不会有太多涉及算法的地方(我说的是相对复杂一点的算法或数据结构), 或者即使用到一些也是使用现有的库 | 
|  |      11woodensail      2018-10-10 18:07:09 +08:00 社招一般都不问算法了吧,除非是相关工作的或者去 google 之类的。 | 
|  |      12zhangZMZ      2018-10-10 18:12:44 +08:00 不知道各位品论区大佬工作中如何使用红黑树和排序算法的?随机举个例子? | 
|      13paparika      2018-10-10 18:22:02 +08:00 头疼+1,主要是记不住算法的演绎过程。当然我知道又有人要说是我没真正理解。。。 | 
|      14haikuo93 OP @woodensail 一般的互联网公司基本都会问吧, 不然问什么 | 
|  |      16shm7      2018-10-10 18:30:40 +08:00 via iPhone | 
|  |      18woodensail      2018-10-10 18:40:38 +08:00 @haikuo93 问项目,还有一些实际工程难点,比如 tps 优化,前端优化,fail safe 之类的。以及有没有为团队做出过组件之类的贡献。 | 
|  |      19fatelovely      2018-10-10 18:41:14 +08:00  1 我也一直不能理解某些不需要对算法深入理解的岗位问算法问题的意义在哪儿,估计纯粹是不知道问什么好。 大部分开发岗位,对算法停留在「了解」就行了,也就是,我知道有这么个算法解决这么个问题,也知道它的利弊,但是具体实现我不清楚。工作中就算要用,肯定是用现成的库,有多少程序员会遇到非常特别的问题,需要自己动手写算法的? 我基本上每次面试都会事先声明:我是个工程人员,不是研究人员,算法细节我不清楚,也不感兴趣,但是我知道有哪些算法,可以解决哪些问题。 | 
|  |      20woodensail      2018-10-10 18:51:19 +08:00  2 fail safe 这块能问的可多了,比如后端的最终一致性实现,前端的自动重试。 其中前端的自动重试还有个坑,必须要加乐观锁。举个例子,有 3 个请求,其中请求 2 和 3 在请求 1 完成后并行执行。执行请求 2 时发生异常需要从请求 1 开始从头重试,当重试进行过程中,之前的请求 3 完成了并进行了后续处理,就会导致数据错误。 所以这种异步任务链重试机制需要上乐观锁,在重新发起新流程后,之前所有的请求全部会因为版本过期而被废弃。 | 
|  |      21kljsandjb      2018-10-10 18:53:55 +08:00 via iPhone @haikuo93 #17 正常哈哈,量积累上去就好点应该,虽然算法可能真的用得不多,但是企业筛人就是这样,除却问项目,那就是算法了,所以还是硬着头皮上吧 | 
|  |      23changwei      2018-10-10 22:13:03 +08:00 可以在面试的时候反问面试官:您问我的这个算法,在您们公司的产品中的哪个功能模块有用到? | 
|  |      24xxx749      2018-10-10 22:32:48 +08:00 via Android 双指针是我算法造诣的巅峰 | 
|  |      25iyangyuan      2018-10-11 07:54:18 +08:00 via iPhone 用现成的,自己写能保证没有 bug ?能保证效率比 sdk 高? | 
|  |      26guolaopi      2018-10-11 09:13:41 +08:00 @Gea 确实啊,能用到高大上牛逼的东西我也想用啊,人都往高处走,奈何用不到。。一般的语言数组 List 排序都有提供的,我还没见过有几个扩展一个自己写的排序算法在业务里调用的。。。。。。排序都用不到就别说别的了。。。不过 LeetCode 上面的有些题做做挺好玩的,当脑筋急转弯或者数学游戏做吧。。。 | 
|  |      27agagega      2018-10-14 19:11:23 +08:00 via iPhone 社招又不是要求特别高的岗位问很多算法就像校招强行问项目经理一样奇怪。 |