rt,正常么 难道说我真的只适合科研不适合工程
web 开发要学的东西蛮多的 N 年以前试图从 java 入手,javase 入门了 但 spring,serlvet 啥的就没学会,还有一堆杂七杂八的东西,感觉好多
年前看了一晚上 python 语法,上个月认真学了一遍 现在看 flask,requests,scrapy 啥的又不少 不会也像 javaee 那么复杂吧。。。
非科班,会点 perl,平时写个脚本还是没啥问题,代码风格也比同事好很多 SICP 看过一点点(前三章),算法导论也看过点,感觉比 web 开发简单多了
101
jssyxzy 2018-05-14 16:38:30 +08:00
"各大厂的算法岗位",这种都是机器学习和人工智能的算法;
楼主说的算法只是普通程序的算法; 算法比 web 要难,只不过楼主前 20 年数学的学习积累觉得简单而已; web 开发你好好积累两三年,再看看难不难; 或者你让一个文科生来学学,看看觉得算法难还是 web 开发难。 |
102
murmur 2018-05-14 16:40:59 +08:00
@jssyxzy 第四年你发现前面的白积累了 你学过的技术淘汰了 坑埋上了 旧的浏览器不用了不解决兼容性问题了 带宽更宽设备更猛了 以前做动画现在贴视频 以前优化现在各种 mvvm 使劲上
|
103
jssyxzy 2018-05-14 16:45:29 +08:00
@murmur 这只是归纳总结的问题,就好比 coding 我还用一个一个去记 api ?我缺心眼?一个 dash 解决了。就好比学校为什么教 C++,计算机网络,数据结构,操作系统,没见过哪个学校专门教某种语言快速入门的,那不成了培训机构。这些东西,平时带着积累,需要的时候去查下就是了。有了 google,还有什么问题?
|
104
oyosc 2018-05-14 16:57:29 +08:00
只能说内行看门道,外行看热闹
|
105
yumenkun 2018-05-14 17:09:47 +08:00
觉得算法简单是还没在一些需求中遇到硬性坎吧,例如淘宝的量级每提高 0.1 秒都很难,普通网站根本每这个量级
|
106
RubyJack 2018-05-14 17:24:36 +08:00 2
学算法像吃屎,写 web 就像回家一样,里面个个都是人才,又方便装逼,写 web 超开心的。。。
|
107
winglight2016 2018-05-14 19:10:54 +08:00
拿着锤子看什么都像钉子,楼主大概对 web 开发没多少概念,等你做多几个实际的 web 项目就明白算法实现和 web 开发并没有什么可比性,比如,软件程序就是由算法(逻辑)和数据组成的,web 程序一样有很多算法
|
108
murmur 2018-05-14 19:15:07 +08:00
@winglight2016 真正要在 web 程序里写算法的少只有少 真以为人人左手开发 virt dom 右手裸写 d3.js
还不都是 npm 里哗哗拽包 |
109
lsido 2018-05-14 19:38:49 +08:00 via Android
算法是艾滋病,Web 是口腔溃疡
|
110
masterAtyan 2018-05-14 19:55:35 +08:00 1
@jssyxzy web 开源的框架多,人工只能开源的算法也多,web 学个三年觉得不难,是因为框架用的熟悉罢了,就像说自己会 tensorflow 一样,有多少人知道原理并能代码实现的,不也是调参侠吗,根据 api 接口调调参数,写写周边非核心的代码,不觉得高级到哪里去。或许等个三四年,人工智能行业热潮过后,就知道谁是在裸泳了
|
111
jssyxzy 2018-05-14 20:20:52 +08:00
@masterAtyan 算法是个人都能写出来,哪怕是人工智能,但是效果就不一定了;人工智能里大师多了,我可没听说过哪个 web 做的极好的成为大师的;至于你说的哪种调参工程师,我不讨论。
算法看的是内功,看的是深度,是智力。就像国外大公司为什么面试大多是考的是算法和系统设计,只要招进去的是聪明人,还怕他们看不懂几本书么? |
112
masterAtyan 2018-05-14 20:48:33 +08:00 via Android
@jssyxzy 只能说你把计算机理论看的太浅,web 从界面到 v8 引擎,里面有多少理论可以说的清?有多少大师?计算机的内功是编译原理和操作系统。你所说的只是做 web ui 和业务逻辑的。
我看过 深度学习 并不觉得你说的高门槛在哪?大部分的人工智能算法都有现成的。 就像编程的,只有少部分人能写商用虚拟机,做算法的大部分人,也是在看别人的论文,用别人的框架。而理解论文也只是时间罢了。 |
113
smdbh 2018-05-14 21:22:07 +08:00
刚开始,是这样的。但是,后来,就
|
114
pexcn 2018-05-14 21:58:24 +08:00
或许 lz 数学真的很 6 (
|
115
notreami 2018-05-14 23:32:00 +08:00
简单的算法,代码库里都用、高级点的,高级点算法库里也有(神经网络啥的,现成的库都不知道有几个了)。更高级点的算法,不就是和更高级 web 一样,github 上,或者论文上,已有现成的方案或者实现,大家拿来理解,实现,再调整,去掉些原来设计上的问题和逻辑判断,增加已知的相似方案,尝试替代。
说算法难的,麻烦整出点无法反驳的,比如你们申请了专利之类的。 |
116
mozutaba 2018-05-14 23:39:58 +08:00
砌砖比画图纸难?
|
117
wtdd 2018-05-15 00:15:10 +08:00
算法是难,更需要逻辑,开发是复杂,更需要记忆
|
118
yylucifer 2018-05-15 00:54:59 +08:00
瞻仰大神,居然说算法简单!
|
119
wengjin456123 2018-05-15 01:15:28 +08:00
说 web 简单的,写一个 V8 来看看?
|
120
defel 2018-05-15 02:49:48 +08:00 via iPhone
强力安利 lz 把计算几何耍一耍,尤其是三维问题,就知道数学和算法的威力了……
|
121
thedrwu 2018-05-15 04:47:21 +08:00
各种 Web 前后端库,花点时间最多几个月总是可以理解的,即使细节浩瀚,不一定看得过来。
然而电子行业用到的许多算法,从小写程序做算法题且受过正统数理与电子专业训练又混身于世界一流的研究所,仍然感觉这辈子都无法理解了。有些虽能免强实现,却无法分析误差,遇到不收敛却不知从何入手,更不用说去证明。 |
122
wlwood 2018-05-15 06:35:45 +08:00 via Android
楼上说去调别人库的,调 api 的,特么你们这还叫写算法么?
不可否认,你们去调 API,调别人库也可以完成你的工作,但是,你那不叫写算法!!!那不叫写算法!那不叫写算法! 难点在哪里? 你倒是写出一个堪比 CNN,RNN 这类的算法来啊! |
123
wlwood 2018-05-15 07:45:09 +08:00 via Android
严格来说,算法应该有个数学论证(无论是数论,图论还是组合数学还是其他),然后用编程语言把它描述出来。
难点在哪里?肯定在数学推导论证啊 经常写的那些什么快排,md5,其实都在写别人早已论证的数学推导 而已 |
124
murmur 2018-05-15 07:46:10 +08:00
@wengjin456123 v8 不属于 web 啊
|
125
2010 2018-05-15 08:10:13 +08:00
我看算法导论,快放弃人生了
|
126
huiyifyj 2018-05-15 08:14:13 +08:00 via Android
@wengjin456123
v8 什么时候成 web 了?😅渲染引擎而已。 |
127
kimown 2018-05-15 08:15:14 +08:00 via Android
@murmur
那 v8 属于什么,而且现在 wasm 导致 jsc,再跑一个 js engine 在浏览器上,wasm 不是为了 web 而生吗,你这样逻辑面试 爪哇 就不问 jvm 了,因为 jvm 根本不属于后端啊 |
128
murmur 2018-05-15 08:41:11 +08:00
@kimown 考 jvm 是因为 jvm 可以调优 需要内存分析 你了解了 v8 又如何 最终的程序跑在别人 v8 上 你又不能给他调优也不能修改什么
|
129
VoidChen 2018-05-15 08:43:27 +08:00
@thedrwu 前辈能不能告诉我,你们研究所真的是做研究的吗,想进研究所过了应届是不是没有机会了。。。我觉得那些想出线性代数用以实现高维投影低维的人真的很厉害啊。。。
|
130
kimown 2018-05-15 08:54:15 +08:00 via Android
@murmur
chrome dev tools 用的也不少啊,还有 node 啊,webpack 爆内存也不少见了,面试官不是喜欢问 js 各种 trick 的优化技巧吗,不扯这些怎么加工资,这几天在看 google io 中的 wasm,按这个趋势发展下去,web 跑 js,c,cpp,c#....将来 web 就是一个终极平台,各种语言,技巧,思想在这个平台上百花齐放 ,这时候 web 会简单吗 |
132
kimown 2018-05-15 09:08:25 +08:00 via Android
@murmur
对,有些项目 wasm 已经投入生产环境了,youtube 上面有视频,,里面还举例介绍了 autocad web 版的进化史,c++在 web,android,ios 代码共享,想想所有的语言都能在 web 上跑,感觉潜力无限。 这是 jsc wasm 版本:https://mbbill.github.io/JSC.js/ 这是 sqlite asm.js 版本: http://kripken.github.io/sql.js/GUI/ 这是已经 port 为 wasm 的项目 https://github.com/kripken/emscripten/wiki/Porting-Examples-and-Demos |
134
murmur 2018-05-15 09:39:59 +08:00
|
135
visonme 2018-05-15 09:46:42 +08:00
好像某些东西让你误解了。
抛开框架和库的思维,你就发现其实都很简单的。这些无非都是简化工作的工具,通一个其他也差不多就是两三天的事情了。 还好你没入门前端,不然这几年层出不穷的框架和库,够你难受的了 |
136
linux40 2018-05-15 09:46:55 +08:00 via Android
少年,多项式时间的线性规划算法,不来一个吗?算法不是很简单吗?几十年前就研究出来的多项式时间算法应该很轻松吧?
|
137
kimown 2018-05-15 09:52:09 +08:00
@murmur
其实性能这块也不是它的理论最高性能,它现在性能提升是对标现在 web 唯一语言 js 的,其实这块很大是拓宽了 web 的触及范围,有点类似 nodejs, RN 拓宽了 js 的范畴,自己学习下,然后投入项目实践,又不吃亏😆 |
138
kx5d62Jn1J9MjoXP 2018-05-15 10:02:19 +08:00
这个网站前端多, 所以觉得算法难一点都不奇怪, 毕竟连个 quick sort 都是去看阮一峰版本的...
|
139
juicy 2018-05-15 10:31:58 +08:00
大多数工程师只是选择算法、用算法而已,创造一个算法是可能要花一辈子时间的事情
|
140
DiamondY 2018-05-15 10:35:11 +08:00
数学学几年了?编程编几年了?
|
141
jimi2018 2018-05-15 10:52:32 +08:00
学微电子的都不搞芯片,知道为啥芯片不行了吧。
|
142
feverzsj 2018-05-15 10:53:48 +08:00
井底之蛙
|
143
nuxt 2018-05-15 13:35:12 +08:00
觉得简单,可能是深度不够吧。
|
144
data2world 2018-05-15 13:42:11 +08:00
@masterAtyan 也许你只是调包而已,实际的生产数据都没接触过。接触过你就不会这么说了,很多现成的算法包,sklearn、tf、都是需要改成和业务相关的,更有实现新的算法满足项目需求的。。所以薪资来讲算法一般都比 web 高,同样的门槛也相对高。
|
145
masterAtyan 2018-05-15 14:13:53 +08:00
@data2world 你所说的改成业务相关的,只是比调包稍微高级一点罢了,所谓业务相关,在我看来就是处理业务属性的数据,用包去处理而已,核心的代码是不会改动的。
门槛高是因为需求量没有 web 大而已。而且业界比较火的人工智能,大部分还是推荐系统相关的算法,这部分真心不觉得有什么技术含量,因为算法都是现成的,网上教程一大片。 说到底,普通做算法的(不谈 nb 的)就是比做 web 的多看了几本概率论和线性代数。而且大部分做人工智能的找到高薪工作的也很少吧。 |
146
data2world 2018-05-15 14:25:24 +08:00
@masterAtyan 额,,,大部分是推荐算法。。。。可能你真的不太清楚,你所看到的推荐算法多,只是因为“展示给你了“。如头条的推荐,淘宝 JD 的推荐。实际上这都是不同的 domain。头条的推荐主要针对的是自然语言方面,文本方面。而电商的数据更多的是用户历史行为、图片方面的数据处理。希望亲多了解一下,谢谢
|
147
masterAtyan 2018-05-15 14:37:59 +08:00
@data2world 在我看来都是业务上的区别。你可以说他们很难,如果你们真正的优化了推荐算法的核心原理。要不然真的只是在做算法的“前端”,做一些业务数据的预处理工作。我承认是有一定的门槛,但并不能说这些比 web 难罢了。如果有一天,人工智能也有 web 一样的工业化水准,而且职位有 web 开发一样多的话,也是烂大街。
|
148
data2world 2018-05-15 14:54:36 +08:00
@masterAtyan 个人认为门槛确实比 web 高。因为不懂数学,纯调包是不可能应聘上算法工程师的。举个例子,如不懂非参贝叶斯就很难看懂 DP,看不懂 DP 就很难理解 HDP 算法。无法理解那么"不确定文本主题聚类"就很难实现。这算法在 gensim 上虽然有实现,但是,实现的是不完整,甚至可以说是错的。这就需要自己实现了。你只调包,怎么可能实现,这也是为什么大多数算法岗位需要研究生,甚至博士生的原因,而 web,有经验的大专生都可以做 [没故意的 diss 学历,只是讲一下事实]
|
149
masterAtyan 2018-05-15 19:20:22 +08:00
@data2world 我认为的门槛高低是市场供需决定的。如果 web 招聘人数和算法岗一样高,估计大公司招聘 web 工程师的素质绝对不必算法低。你说的难,只是术业有专攻,现在人工智能的算法难,是网上教材少,博客少。就像我们编程遇到问题,如果没有 stackoverflow,个人认为起码一个框架级别的问题,一般的开发是搞不定的。如果不幸遇到系统级别的问题,大部分开发都束手无策。
|