BAT 的算法工程师和研发工程师的区别?算法工程师是类似于高校在做研究,发 paper 吗?

Published on 2015 - 05 - 07

原文链接:BAT 的算法工程师和研发工程师的区别?算法工程师是类似于高校在做研究,发 paper 吗?——Michael282694的答案

谢邀。

既当过研发工程师,也当过算法工程师,但是自认为功底浅薄,回答不好这个题。

现在所说的算法工程师,大部分是数据挖掘和机器学习,少部分是特定领域(比如图像处理)。

研发工程师更侧重于编码实现,发展路线宽一些,但是技术路线也会杂一点,是成长为架构师最多的工种。要学会针对分解的任务进行实现、测试,更侧重代码的稳定性、健壮性,整条业务线从前往后,都要涉猎。高可靠、高并发、高可扩展等是最需要考虑的事情。

而算法工程师相对来说要专一点,解决的是特定场景下的特定问题,最关心的是复杂度优化、参数调优等问题,一般来说薪酬比同等水平的研发高那么一点点(因为稀缺)。所做的工作并没有高校那么纯粹(MAR+A除外),别人给你发薪资是希望你能将技能进行产业化,给公司带来盈利,有了利润驱动,注定不可能静心研究。至于发论文和申请专利这一块,很多公司还是很支持的,比如阿里:专利受理奖励5k,授权奖励2w。

另外,编程语言对于研发工程师的重要程度要高于算法工程师,前者讲求精(C/C++、Java大法好),后者讲求顺手(Python大法好)。

再者,工业界使用的算法往往不会像学术界描绘得那么花里胡哨,举个栗子:A设计了一个算法,可以将广告推送精确度提升5%,10个人写10天代码实现,需要一个2000 node的集群training 1 week;B设计了一个算法,5个人写1周代码即可实现,虽然只能将广告推送精确度提升4%,但是只需要500 node的集群training 1 day,一般来说Plan A会被抛弃。

肤浅地一句话终结区别:研发是要成为架构师的男子啊(踩够了所有的坑,坐足了冷板凳方能成就),算法是要成为科学家的男子啊(试过了所有的错,吐过无数次调参优化的槽方能成就)。

噢,对了,算法工程师光明顶概率更大一些~


原文链接:有哪些建议可以送给本科参加BAT三大公司校招的人?——Michael282694的答案

只说本科:

面百度:打好基础,能内推的部门轮番推,别管。

面腾讯:打好基础,守时,能内推的部门轮番推,别管。

面阿里:面挂了别纠缠,转身面下一家(不要问我为什么这么建议,系统傻逼就是傻逼)。还有,别惹HR(包括HRG和外包HR)这种奇葩的生物,都是大妈,永远更年期。

注:还是解释一下吧。阿里只能面一次,也就是说如果A事业部把你挂了,你就再也没机会去面BCDEFG......事业部了(HR规定的,其实有关系是可以的)。噢,对了,拿到阿里offer也不一定能入职哦(我还真认识这样的倒霉熊孩子)~任性。


原文链接:一个普通本二大一学生,如何在毕业后至少能拿到BAT这样的offer?——Michael282694的答案

我先说说自己的看法,首先你的学校不属于C9,在网易游戏会直接被人力资源分流到二流以下求职者档(主要体现在于薪资)。而BAT的缺口比网易游戏大多了,对学校的要求没有严格界限,构成竞争力的因素就简单多了,主要是技术和人脉。

而要想进入BAT,内推比直接投简历要方便得多。首先你可以提前了解到公司/部门的运作情况,是否match,其次你可以比其他同学获取到更多的信息。在校招的战场上,任何有利信息都是抢先一步拿到offer的重要因素。

人脉是靠经营的,技术是靠培养的。

不交心换命过无真朋友,坐不够冷板凳无真技术。——列宁

技术这一块,我一直秉承专、精、深的理念。

要写C++就好好写C++,要写Java就好好写Java,人无二心,何况学生。

至于面试的时候,但凡有能力的大公司,是不会在乎你在学校是学什么编程语言的。我以前是写C++的,现在还不是改成了Java。

书单这块,我觉得仁者见仁智者见智,但是一般得涵盖:数据结构,算法,面向对象(设计模式),计算机网络,操作系统。会数据挖掘和机器学习就更棒了,如果还有自己钻研的小领域则锦上添花。

怎么准备年后的软件 / 互联网公司实习? - 知乎用户的回答,你可以借鉴一下我在帖子里是如何教一个人通过一份简历将自己的技术生涯串联起来的。(里面有一个短短的书单)

至于ACM,我不是很建议啊。这玩意是拼天赋的,我是挂在ACM上过的。刷刷题倒是可以,比如LeetCode、POJ和ZOJ什么的。

Comments
Write a Comment