新足迹

 找回密码
 注册

精华好帖回顾

· 搬家后应该通知的机构,请大家补充 (2005-5-16) horseanddragon · 小记一下两年前ULURU徒步之旅 (2017-8-24) 飞行
· 当爱已成往事- 林忆莲和李宗盛(Patrick Zhu Vs SteveKing之四)2013年6月重建版本 (2008-6-11) patrickzhu · E&E -- 南瓜枣椰司康 & 奶香玉米司康 (2011-3-18) 闲夏采薇
Advertisement
Advertisement
查看: 11722|回复: 91

[IT] 弱弱问一句,学习编程一定要精通数据结构和算法吗? [复制链接]

发表于 2018-8-10 16:34 |显示全部楼层
此文章由 APSTNDP 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 APSTNDP 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 APSTNDP 于 2018-8-15 11:02 编辑

弱弱问一句,学习编程一定要数据结构和算法吗?

看了很多IT大牛的文章,都说语言只是工具,背后的数据结构和算法才是精华。就想弱弱问一句,需要队数据结构和算法精通到什么程度才能找到开发类相关的工作呢?

-=======================================

学生时代学过一点编程的皮毛,没有学过数据结构和算法。

现在工作跟IT网络相关,但是用不到编程开发,因为最近想换个开发的工作,特来请教。
Advertisement
Advertisement

发表于 2018-8-10 17:30 |显示全部楼层
此文章由 fifapig 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 fifapig 所有!转贴必须注明作者、出处和本声明,并保持内容完整
做 LOB 的不太需要, 做core product 需要。

发表于 2018-8-10 19:15 |显示全部楼层
此文章由 江流 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 江流 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看看之前国内前端圈对于快排的讨论就知道其实并不需要啥知识就能开发
但是不懂的话,可能也会让你止步于此吧
头像被屏蔽

禁止发言

发表于 2018-8-10 19:35 |显示全部楼层
此文章由 矮司豹㯥剃呐 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 矮司豹㯥剃呐 所有!转贴必须注明作者、出处和本声明,并保持内容完整
必须的啊,你想要掌握核心技术,成为不可替代的人的话,就一定得在算法或者数据里面精通一个,基础地编程没什么门槛的,要不然为什么那么多人高数和计算鸡一起学

发表于 2018-8-10 19:49 来自手机 |显示全部楼层
此文章由 miproduct 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 miproduct 所有!转贴必须注明作者、出处和本声明,并保持内容完整
就一条,google 面试只面试算法和和设计。不懂算法和数据结构不可能写出来好程序的

发表于 2018-8-10 19:50 |显示全部楼层
此文章由 audreamer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 audreamer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
fifapig 发表于 2018-8-10 17:30
做 LOB 的不太需要, 做core product 需要。

请问什么是LOB?
Advertisement
Advertisement

发表于 2018-8-10 19:51 |显示全部楼层
此文章由 上班ing 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 上班ing 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果不打算去谷歌这类公司的话,不需要。有 点基本的概念就行了。

发表于 2018-8-10 19:52 |显示全部楼层
此文章由 kaixinkaixin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kaixinkaixin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你是想入门就开始搞算法还是指着算法找工作?

发表于 2018-8-10 20:07 |显示全部楼层
此文章由 fenghuo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 fenghuo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看你做哪方面的编程, 如果是后端/实时的, 那一定要求对算法有了解的,

发表于 2018-8-10 20:20 |显示全部楼层
此文章由 pipiclj 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pipiclj 所有!转贴必须注明作者、出处和本声明,并保持内容完整
别听楼上的几位瞎吹,
我就想问问楼上的,如果你在写程序的时候,需要用到一格排序算法,你第一个反应是啥?自己写一个?还是现有的库拿来用?

需要一实现一个HashTable,你是用Python里的dict, Java里的HashMap,还是自己拿个数组写个算法自己拼起来?

你是去stackoverflow上抄别人好评如潮的Function,还是自己花半天时间写一个还不知道有没有漏洞的算法?

现在的商业开发,都是拿各种现有的东西过来,组合成一个可以商用的东西。能把这个做好,就已经非常不容易,就算你去了Google,让你去开发Google Map,你也很少会涉及到算法开发,都是拿现成的。毕竟那些千锤百炼的库文件,和你自己拍脑袋想半天的东西,哪个更成熟?

至于Google面试为啥考算法?那时因为他想知道你是不是聪明,会玩算法的人,一般都比较聪明,仅此而已。

评分

参与人数 7积分 +24 收起 理由
thinker_oz + 3 我很赞同
tyler_kwok + 6 我很赞同
APSTNDP + 3 你太有才了

查看全部评分

发表于 2018-8-10 20:37 来自手机 |显示全部楼层
此文章由 miproduct 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 miproduct 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 miproduct 于 2018-8-10 20:39 编辑
pipiclj 发表于 2018-8-10 20:20
别听楼上的几位瞎吹,
我就想问问楼上的,如果你在写程序的时候,需要用到一格排序算法,你第一个反应是啥 ...


你不懂还在这里误导人就不对了,不懂算法和数据结构很难选择正确的的数据结构,你说的那些太基本,比如你让写一个自动完成的功能,如果你不懂Trie,你都不知道怎么去查。好的算法比强大的计算机还厉害。如果你不懂dynamic programming, 我很难相信你会写出来什么好的code。数据结构和算法是基础,如果基础不好不可能写出来好的code。

评分

参与人数 1积分 +4 收起 理由
audreamer + 4 我很赞同

查看全部评分

Advertisement
Advertisement

发表于 2018-8-10 20:44 |显示全部楼层
此文章由 上班ing 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 上班ing 所有!转贴必须注明作者、出处和本声明,并保持内容完整
miproduct 发表于 2018-8-10 20:37
你不懂还在这里误导人就不对了,不懂算法和数据结构很难选择正确的的数据结构,你说的那些太基本,比如你 ...

dynamic programming是什么?

发表于 2018-8-10 22:19 |显示全部楼层
此文章由 weeded 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 weeded 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 weeded 于 2018-8-10 22:40 编辑
miproduct 发表于 2018-8-10 20:37
你不懂还在这里误导人就不对了,不懂算法和数据结构很难选择正确的的数据结构,你说的那些太基本,比如你 ...


百分之99%的编程都不需要像你描述的这样去完成。就算googler设计一个产品,也是把产品发布到borg上,让borg去执行让产品更高效的运行,而不是googler自己去研究算法。因为做一个产品可能只需要一个月,至于从算法上来说怎么让这个产品运行的更有效率,这个时间成本是个无底洞,从商业运行角度根本不会让你去过多的思考深层次的算法。底层算法都是打包好给程序员使用。至于这个算法要怎么去设计,那就交给1%的数学家去研究了。

我不是说算法不重要,只是对于算法这个东西,交给1%的人去研究,另一部分人可以更加有针对性的对产品进行思考,分工合作让整个生态链运行的更加有效率。重要的事情说三遍,99%的人专注于语言与产品及业务逻辑,而1%去关心算法,大家职责不同。

很多人一直在强调算法,的确重要,但是这不是绝大多数人需要去关心的。那些一直喊“算法”的人一类肯定是专注于算法的数学家,另一部分人恐怕是还没有接触到商业生态链的在校学生吧。如果都不是,那就是本身没在做科学,但又对科学这个未知领域充满了敬畏感,然后在网上搜一些专业名词来装X的吧。


其实谷歌面试的那些“逻辑”问题,目的是在考验一个人是否聪明,而不是算法知识是否扎实,理论可以学习,但一个人不聪明就没得办法了,最后说一句,谷歌面试官fail一个人,不是因为这个人对于算法或者理论知识不熟悉,是因为这个人可能太执着于某个东西而无法thinking out of the box

评分

参与人数 1积分 +3 收起 理由
APSTNDP + 3 感谢分享

查看全部评分

头像被屏蔽

禁止发言

发表于 2018-8-10 22:33 |显示全部楼层
此文章由 hotornot 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hotornot 所有!转贴必须注明作者、出处和本声明,并保持内容完整
扯淡
扎克伯格就会写个网友,不照样搞出了Facebook

发表于 2018-8-10 23:12 来自手机 |显示全部楼层
此文章由 夜鸣猪 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 夜鸣猪 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 夜鸣猪 于 2018-8-10 23:14 编辑

码农要分software engineer,application developer,还有更偏业务的analyst programmer,等等各种农。界限有点模糊,不过还是不太一样的。