- 2016.10 - 2016.11 2016CCF大数据竞赛-搜狗用户画像挖掘 rank 26/894
- 2017.03 - 2017.04 kesci-携程出行产品销量预测 rank2/245 https://github.com/shenweichen/ctrip14
- 2017.04 - 2017.05 京东JData算法大赛 高潜用户购买意向预测 rank 13/4242
- 2017.05 - 2017.06 腾讯社交广告竞赛 移动App广告转化率预估 rank 20/1650 https://github.com/shenweichen/Tencent_Social_Ads2017_Mobile_App_pCVR
- 2017.11 - 2017.12 2017CCF大数据竞赛 蚂蚁金服-商场中精确定位用户所在店铺 rank 20/2845
关于论文
硕士期间能发相关领域顶会的人应该是在学术方面很优秀了,但是据我了解大部分同学还是没有的,不过没关系,我们不能发,但是我们可以多读多写,领域内经典papar一定要了解,发展脉络心里要清楚,对于一些经典的方法,抽空可以去实现一下
多读paper,一方面了解一下业内的最新进展,一方面自己的知识也可以更体系化
我自己的话也是抽空实现了一下,https://github.com/shenweichen/DeepCTR
不仅能加深自己的理解,放在简历里也是加分项
后来又和小伙伴一起开发了DeepMatch
关于面试
如果把面试的难度看作一个随机变量,那我们能做的就是将它的方差降低到最小。
我觉得面试官从拿到你的简历开始,就已经给了你一个打分,剩下的过程就是尝试去印证他打分的合理程度。所以在写简历的时候一定要确保简历上的内容都是自己做过且非常熟悉的。
一般一场算法岗位的技术面试考察的内容无非涉及一下几块:ML/DL/RL算法基础知识,结合简历和业务应用的相关知识,基本的编程能力,数理统计和智力逻辑题
-
我们在学习一个算法或者模型的时候,一定要学着类比和关联,比如很多人说自己熟悉逻辑回归LR,那么问问自己,下面这些内容你都了解吗?
-
LR归一化问题,什么情况可以不归一化,什么情况必须归一化,为什么
-
提到LR损失函数要能知道交叉熵,为什么是它,以它为损失函数在优化的是一个什么东西,知道它和KL散度以及相对熵的关系
-
提到LR的求解方法,比如SGD,知道SGD和BGD的区别,知道不同的GD方法有什么区别和联系,二阶优化算法知道什么,对比offline learning和online learning的区别
-
提到调参,知道模型不同超参数的含义,以及给定一个特定情况,大概要调整哪些参数,怎么调整
-
提到LR的正则,知道l1l2的原理,几何解释和概率解释
-
LR的分布式实现逻辑是怎么样的,数据并行和模型并行的区别,P-S架构大概是怎么一回事
-
LR作为一个线性模型,如何拟合非线性情况?特征侧比如离散化,交叉组合,模型比如引入kernel,又可以推广到FM等model上,
-
个人感觉如果一场面试中大部分时间是你在向面试官输出你的知识,而不是等他来问这样的一问一答的话,那么基本就是ok的了
-
关于编程题目,leetcode 多刷刷,一般medium居多
-
关于概率统计和智力逻辑题,这个网上也可以网上搜搜看看~
——————————————————————————————————————
关于晋升
昨天系统里正式公布了晋升结果,非常荣幸的从一名算法工程师成为了高级算法工程师。过去一年里的努力和付出获得了认可,曾经的困难,委屈和不被理解随着时间的推移也逐渐被忘记。非常感谢在阿里的这480天里帮助和指导过我的师兄,同学,同事和老板们,感恩相遇。
阿里是一家很棒的公司,尤其是对于刚刚毕业的应届生来说,在这里可以充分的将学校书本里所学的知识和企业的实际应用需求进行连接,接触到行业内的领先技术,获得一个非常快速的成长。同时身边充满了各种大牛,每个人都有自己独特的优势和亮点,值得学习。
当然,今天这篇文章不是来夸公司的,主要还是希望借此机会分享一些的想法,尤其是**「刚刚毕业工作或即将毕业工作的同学们」**~
放低姿态,从最简单的做起
刚毕业的同学,尤其是**「算法岗」**的同学,很容易产生一个想法。就是师兄或者主管给我安排的任务是太简单,没什么技术含量或者看起来没什么用。再想想自己手握X篇顶会,Y个竞赛Top,Z个上千star的开源项目,拒掉了多少家offer来到这里,就让我做这个?就这?没错,就这。
- 首先工作的安排是取决于业务的形态和发展需要的,主管不会去浪费你一个人力去做那些真正没有用的事情的,一定是业务确实有需要。
- 第二,对于新同学来说,做一些简单的任务也是让自己熟悉工作的一个过程,从简单的任务不会觉得学习曲线过于陡峭。
- 第三,通过这些相对简单的任务,可以展现出自己做事情的方法和逻辑,当主管觉得你做事还算靠谱后,自然会安排更有难度更有挑战的工作。
保持学习,向身边优秀的同学看齐
其实这句话从读研的时候,实验室的师兄就有和我们讲过。到了工作的时候,依然被不断的提起,想必道理大家都懂。
- 不要因为自己有了工作了就懈怠了,请保持你当时在找工作时的学习态度,技术行业的发展是很快的,今天的state of the art就是明天的baseline.
- 去发现身边同学的优点和亮点,观察他们是怎么看待和思考问题以及做事的方法,有机会的话可以多向他们请教和交流,一定会有收获的!
迎接挑战,承担更多的责任
其实这里想说的是,走出舒适区,每每当你感到痛苦和艰难的时候,正是你成长和收获最大的时候。
- 每一次困难和挑战都是一次学习的机会。做已经掌握或者熟悉的事情,虽然很容易取得结果,但是对个人来说并没有带来成长。
- 有时候可能一件事情对自身能够带来的价值是有限的,但是如果你把坑都趟平了,可能会让那个整个小组或者团队的同学受益,那你愿不愿意去做。这种时候就有两种想法:
a. 我去做了,这样大家都可以受益 b. 反正早晚有人做,我等着就行了
但如果每个人b想法,那么可怕的事情就发生了,陷入了死锁,每个人都在等待别人去做,整个团队的发展也就收到了阻碍。
皮实抗压,培养强大的心力
在过去的一年里,也有过很多次想要放弃的念头,不顺的时候晚上会焦虑的难以入睡,但内心也有另一种声音告诉自己,再试试看看,也许是哪里细节没注意到,多给自己一点耐心。减少玻璃心,减少浮躁,成为一个内心强大的人。心力,脑力,体力三者缺一不可。
成就别人就是成就自己
每个个体的力量有限,每个人擅长的事物也不尽相同,发挥自己优势和长处去帮助身边的同学一起进步,在未来的某一天或许会有意想不到的收获~
最后,非常幸运能够加入这样一个团队,在这里收获了很多,也成长了很多,接下来会继续向着新的目标努力~
学弟学妹们一起加油!
看法
这个世界上没有天上掉馅饼的事情,我们看到的那些令人艳羡的光鲜亮丽的背后都是别人精打细算,用争分夺秒的努力和汗水换来的。
学习,这是最值得一个人终身坚持的事情,也是最划算的事情:你的努力都能看到成果,厚积薄发,等到用到的时候,它不会让你失望。
文末
那么对于想坚持程序员这行的真的就一点希望都没有吗?
其实不然,在互联网的大浪淘沙之下,留下的永远是最优秀的,我们考虑的不是哪个行业差哪个行业难,就逃避掉这些,无论哪个行业,都会有他的问题,但是无论哪个行业都会有站在最顶端的那群人。我们要做的就是努力提升自己,让自己站在最顶端,学历不够那就去读,知识不够那就去学。人之所以为人,不就是有解决问题的能力吗?挡住自己的由于只有自己。
Android希望=技能+面试