关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »程序员读研如何提高技术之我见

    程序员读研如何提高技术之我见

    2015-11-19 00:00:00 出处:ITJS
    分享

    你想进什么公司,和你读什么计算机方向,关系不是很大。只要是理工科的学生,面对技术岗位,其实机会是差不多的。

    至于你想什么职位,那显然和你的专业/方向关系较大,比如说很多大数据职位,就明确表示要求你DM/ML/NLP/IR背景,但是这也只是说这些学生可能更有优势些,事实上,数学和统计学出身的,很多搞这个非常牛逼的。

    所以,不要问选什么导师,选什么方向;也不要问我的实验室很水老板很菜我还能找到好工作吗?你要问的是:我想毕业去互联
    网公司,我读研的这几年是应该打酱油呢,还是打地沟油?

    想找一个好的互联网技术类、研发类工作,无非就是以下4点,你任选一点,做好了,都是有利的,哪4点?

    语言层面 算法层面 项目层面 专业层面

    具体分析如下:

    语言层面

    你是想搞C++还是Java?选定一门语言后,多看一些这方面的书。

    C++,不用说了,《Effective C++》,《More Effective C++》,《Inside The C++ Object Model》等等。

    Java,最好能看点虚拟机相关的。尤其是Java虚拟机的内存管理。以及多线程、线程池、设计模式等。

    问题来了:学C++好还是学Java好呢?语言争论每天都在发生,真的好无聊。建议按照方向和兴趣来选择,不靠谱的说:

    要是是想做大型游戏开发、底层研发、系统研发、驱动研发等等,就选用C/C++。

    要是是想做网站开发、网络研发、上层开发、Android开发等等,就选用Java。

    顺便说一下,有空可以学学Python。

    算法层面

    学好算法。这个有两条路,最好是并行,那就是看书和做题。

    看书的话,主要有《算法导论》、《算法》(Robert Sedgewick著)、《算法竞赛入门经典》、《挑战程序设计竞赛》

    找一本认真看,认真思考。证明过程可以不看,但是算法思想最好能懂,以及实现,最好能在纸张上写出来。复杂度总要知道吧?

    研一的时候,我就把算法导论上的很多算法,都自己亲自coding了下。

    特别复杂的数据结构,比如红黑树、B树,没空就别搞了。互联网面试一般都不要求的。

    主要是排序、查找、简单DP、贪心、图算法和搜索。 根据身边同学的面试经验,二分搜索和快速排序,是面试常备了。看书的时候,要是有时间,可以思考几个问题:

    这个算法的时间空间复杂度,各是多少?如何分析? 工程实现里,都有哪些trick?如何加速? 这个算法可能用在哪些方面?有哪些应用?你比如说吧,求交集的算法,就广泛用在倒排索引、新浪微博共同关注、计算Jaccard系数等等上。

    除了看书,还有就是很重要的:刷题啦。主要有poj,zoj等。找一个网站,认真刷一些题目,踏踏实实的,别浮躁。

    项目层面

    要是实验室比较牛,基本上忙项目就足够累死累活了;不过做了相对给力的项目,对于找工作,还是有很大帮助的。基本上不用怎么愁了。

    要是老板这儿没项目呢?

    要是实验室比较水,那就尽量去实习。大公司的实习经验很能给简历加分。要是老板不让你出去实习。ok,既然实验室很水,说明自由时间比较多,那还是可以干很多事。比如说,github上就有很多开源项目,你可以选择一两个著名的,阅读源码,然后尝试自己也参与进去。

    说几个我比较感兴趣的开源项目吧:redis,spark。

    专业层面

    你对数据挖掘很精通,你对推荐系统很熟悉。你在NIPS,SIGIR上发表论文无数;你是百度推荐大赛,阿里巴巴大数据比赛冠军常客。

    也就是说,除了尝试发顶会论文,还可以参加各种比赛。本专业本领域里都有什么比赛可以参加呢?搜一下微博或者知乎,或者问下师兄师姐,不就知道了?

    专业层面,可以做的东西非常多。比如,你对数据挖掘很感兴趣,那么数据挖掘中的常见模型,我们了解多少?机器学习,我们掌握到什么程度了?举个例子:

    SVM和logistic regression这两种model,有什么特点?各自的适用场合? feature selection的常用方法有哪些?为什么lasso可以作为feature selection? Adaboosting为什么不容易over-fitting?你能不能从statistical view来解释解释? 哦,你和我说,你不是搞学术研究,你反感Learning Theory,你说你是一个工程师,那你写了多少代码?

    scikit-learn,weka,以及spark,你会用哪个工具?(熟悉一种工具)

    你有自己下载一些数据集跑跑实验吗?你有参加一些大数据相关的竞赛吗?(动手实验/参加比赛)

    专业层面,能做的,要做的,还有很多。

    哦,最好熟悉下linux的基本使用。

    最后的话

    要是能在读研期间做到这里的一点或者几点,到时候甚至不需要翻《编程之美》或者leetcode就毫无压力啦。 最后说几点个人感受。

    算法牛,项目牛,长得又帅,又精通很多语言,这种人,是不多见的。

    也就是说,你想拿一个好offer,一般只要有一两点突出,就可以了。

    互联网面试,除了个别公司个别面试官,一般都是要考查(考查?考察?这两个词有什么区别?考察是调研、研究、分析的意思)算法的。你研一的时候准备,看书做题,总比研三的时候抱佛脚来的好吧?

    况且,算法的学习,也不仅仅是为了面试吧?可能是受益终身的。或者,吹牛皮装逼作为谈资,也是可以的。

    别轻易说我就要去某某公司。到时候,你会发现,选择比你想象的多。

    也有可能比你想象的还少,为什么?

    就看你有没有做到我上面说的这些了。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    我国成功实现磷化铟半导体激光器的异质集成

    存储如何推动澳大利亚的人工智能雄心

    优化数据密集型技术和应用的 TCO(总成本)

    Hyland 为企业开源 AI 就绪云存储库

    RealMan在北京启动机器人数据培训中心

    StorONE 和 Viking 企业解决方案统一存储以颠覆遗留系统

    《人工智能生成合成内容标识办法》2025年9月1日起施行

    美满科技股价暴跌,数据中心疲软加剧AI芯片担忧

    机器人投资在 2025 年 7 月突破43亿美元

    日本电产重返RoboBusiness,展示先进的机器人设备

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术分享

    如何删除自带的不常用应用为windows 7减负

    MySQL中多表删除方法

    改进的二值图像像素标记算法及程序实现

    windows 7 32位系统下手动修改磁盘属性例如M盘修改为F盘

    windows 7中怎么样在家庭组互传文件

    Linux应用集成MySQL数据库访问技巧

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。