1
Ouyangan 2015-08-06 22:05:49 +08:00
java , 多是业务逻辑 . 看多了博文坚信一点算法是程序的灵魂 , 不甘紧紧做个码农
|
2
Ouyangan 2015-08-06 22:06:04 +08:00
仅仅...
|
3
cxe2v 2015-08-06 22:54:51 +08:00
狭义的算法用得不多,因为研究这个的其实应该算是科研工作者了
|
4
df4VW 2015-08-06 23:00:21 +08:00
狭义的很少,大部分都交给data mining的搞了
|
5
test0x01 2015-08-07 00:03:32 +08:00 via Android
从大型电信级系统到嵌入式都开发过很久,算法很少用,必竟算法一般比较固定,通常有现成库什么的。更复杂的其实是业务逻辑,特别是电信产品这些高并发的实时系统,一个呼叫几十上百条结点间消息,加上节点内部消息什么的,那才叫搞死。但大数据处理这种得另算,算法对性能影响非常大,做这个就得玩算法了
|
6
mjoseph 2015-08-07 00:04:53 +08:00
所以。。。我一直不知到。。为毛前端后端非得那么多的算法面试。。。然后现实已经被bug和feature击溃
|
7
Andiry 2015-08-07 00:15:24 +08:00
什么叫狭义的算法?红黑树算不算?一致性哈希?Paxos?
|
9
fox0001 2015-08-07 00:27:38 +08:00 via Android
相比算法,设计模式用得更多。鄙人从事什么管理系统开发
|
11
qw7692336 2015-08-07 00:29:30 +08:00 via Android
基本不会自己写,但是需要了解一些实现,对读代码也有帮助
|
13
iyaozhen 2015-08-07 00:52:11 +08:00
我只想说书到用时方恨少呀。
有时候为了解决一个问题,搞出很多莫名其名的方案。但最后发现都是有成熟的、经过验证的“算法”。 |
14
wkdhf233 2015-08-07 01:37:19 +08:00
算法最优是追求,但现实是你能把需求实现了不出bug,谁管你最不最优
|
16
ch3rub1m 2015-08-07 02:02:07 +08:00
说实话面试算法用得很少,都有现成库,就算做datamining或者deeplearning也算不上狭义的算法,更多是概率论和机器学习。
|
17
pandachow 2015-08-07 02:03:06 +08:00
用,也需要自己写。
(不过我的职位就是算法。。。好了,我可以匿了。。 |
18
msg7086 2015-08-07 02:14:09 +08:00
我面试都考基础算法,比如简单的字符串修改什么的。
连基础算法题都过不了的话,我怎么相信你能敲出业务逻辑来? |
19
OpooPages 2015-08-07 07:11:51 +08:00 via Android
楼上说的对,面试短短的时间不可能让你写出个业务来,一般考考基础知识,算法就是基础之一。
|
20
vietor 2015-08-07 07:27:55 +08:00 via Android
了解算法的价值在于"需要的时候能够用上"。我主要用在一些特定优化上,有时用现有代码,有时自写。
|
21
hackerwgf 2015-08-07 08:35:08 +08:00 via iPhone
完了,按照楼主说的不算简单的算法,那我就真的没用过算法了…
|
22
loggerhead 2015-08-07 08:51:14 +08:00 via iPhone
不多,但是 书到用时方恨少
|
23
initialdp 2015-08-07 08:51:49 +08:00
很少用,印象中只在一个嵌入式设计中应用过二叉树。
|
24
tao1991123 2015-08-07 09:02:09 +08:00
算法在于优化程序更好运行。但是现实是求能跑就好不要出bug
|
25
finalsatan 2015-08-07 09:19:32 +08:00
确实不多。
|
26
em70 2015-08-07 09:23:24 +08:00
算法用得比业务逻辑多的,那叫科学家. 而程序员主要工作应该是工程师成分多一些.
|
27
Tedko 2015-08-07 10:52:32 +08:00 via Android
得写autocomplete。。。这得有前缀树吧
|
28
go4fun 2015-08-07 13:09:21 +08:00 via iPhone
逻辑多,算法少。不过因为我的产品涵盖了机器学习的一些内容,所以这方面的算法运用和改进会稍微多点,但只占整个产品的5%。
|
29
orangleliu 2015-08-07 13:26:40 +08:00
少的可怜
|
30
azhao 2015-08-07 13:35:46 +08:00
算法能力和逻辑智商成正比
逻辑智商就是所谓的"潜力" 不是说不会算法就不够聪明,而是没有办法证明你聪明 这和考上清华北大不一定很强,但大多数都很强 考不大学的不一定很差,但大多数都很差 工作中遇到的问题不定是算法问题,但很多问题是用了算法,会更好的解决 |
31
Cloudee 2015-08-07 13:42:58 +08:00
我觉得很多算法不一定会写,不过得知道有那么个东西,适用的场景和性能如何。这样在开发上很多方向上的问题不容易错
|
32
kepenj 2015-08-07 14:00:30 +08:00
有别于 “自己创造”和“用别人的”
|
33
marffin 2015-08-07 15:35:43 +08:00
算法基础越好,用到算法的机会越多。不会算法的人找不到需要用到算法的工作,自然就觉得没需求。
随便说几个: 分布式系统的基础——选举算法,没有zookeeper可以用的时候,自己会写一个对付对付么? 搜索引擎的基础——反向索引、jump list、索引压缩,知道了以后至少能看懂Xapian或者Elasticsearch在干什么 星际二以及XBox天梯的玩家匹配算法——TrueSkill,其实原理不复杂,平常自己公司的乒乓球赛用的就是这个算法的简单实现 其实只要数据量稍微大一点,性能有瓶颈了,想着优化了,对你的算法基础知识的考验就来了。 |
34
ufo5260987423 2015-08-07 15:55:43 +08:00
我做数据分析相关的工作,本身是做NLP和人工智能的。偶尔还要做下图片处理什么的。
(⊙v⊙)嗯算法用的不少。 |
35
imcoddy 2015-08-07 16:45:19 +08:00
赞同 @marffin 的说法。
实际的情况还是和工作的内容相关吧,一般的业务更看重的是不要出 bug,但数据量到一定程度的时候,算法的优劣会体现得很明显。 |
36
darkbill 2015-08-07 17:24:33 +08:00
|
37
socrates 2015-08-07 18:11:16 +08:00
现在库很多,所以很多需要用到算法的地方直接用lib就行了,不过明白算法的时候,会知道lib里面的实现是不是适用
|
38
liujiangbei 2015-08-07 18:13:26 +08:00
算法更多的是看你的思路,并不是真正的要去算法
|
39
realpg 2015-08-07 18:19:19 +08:00
一般日常来说,一个大项目顶天用三五次 真正会有成就感的解决了一个问题的思路
其他都不算啥算法 一般也就做个网站、业务系统,用不上那么深奥的 |
40
laoyuan 2015-08-07 21:12:49 +08:00
我现在正在斗鱼直播用Python 做算法题!我编了8年PHP一个算法都没用过~
http://www.douyutv.com/laoyuan |
41
Mark24 2015-08-08 06:27:24 +08:00 via Android
好像没那么深奥
|
42
Feiox 2015-08-08 09:42:19 +08:00
如果你是在公司负责写业务逻辑,算法 ~ 额,我是基本用不上。。。
但如果你是写一些比较抽象的类库,那基本上算法很多啊。比如写 DSL 的时候,基本要完成一个简单的递归下降分析器。另外,我也用过各种红黑树、选举算法等 或者,在写数据分析?哈哈,全是算法的调用。你要知道算法的大概实现、功能,才能用 的好。。 |
43
yibuyisheng 2015-08-09 00:02:07 +08:00
前端程序员一枚,基本没啥算法,各种方法都是前辈总结好的,直接按照那种思路写就好了。
|
44
ToT 2018-05-05 03:17:47 +08:00
recursive call, priority queue, binary search, parse expression string 好像就用过这么多。大部分是 design pattern 和 refactor code
|