不知不觉,在M$干了三年多了,大大小小作了4-5个项目,总的来讲,以M$做为职业生涯的起点算是个不错的选择。 程序员
这三年学到了不少东西,值得我专门写这篇总结: 面试
- 外企的英文邮件训练极大的提升了个人英语读写能力,如今不知不觉也能写一篇很长的英文邮件了,读技术书也偏向于直接读原版,这点感受获益很大;
- 三年基本都在作Bing,搜索方面的基础和架构知识学到了不少,也体验和学习了公司如何构架这样一个互联网最有难度的服务,老实说,微软在认准了一个项目,确实会很是有耐心等待它成长壮大,从之前的Xbox,到如今Bing,以前不少投资人建议微软放弃Bing,可是它依然投入,到今年,刚刚成为1 Billion美圆的业务,首次实现盈利,不得不说微软的眼光和耐心在业界是十分良心的;
- 机器学习方面,算是刚入门,了解了如何应用它去解决搜索相关的问题,固然个人专一方向之后会是偏工程的分布式计算存储和后台开发,可是机器学习也是必需要有所了解的;
- 出了两次差去美帝,感觉了下西雅图的天然和人文风光,体验了下资本主义的生活,这个也算是增加了见识;
多说一句,外企对员工的尊重我的感受是国内企业须要认真学习的,目前不少国内互联网企业只学到了形(指工做环境,免费水果零食等),而未学到神,例如外企对员工的我的时间很是尊重,员工只要提出年假申请,没有特殊状况都会批准,15天的年假确实非常慷慨,但这并无影响员工的工做效率,实际上我休假的时候也是会抽时间回邮件的,外企对员工家眷也会有至关的关怀,例如每一年的家庭日,会邀请员工家眷一块儿在某个地方玩,这两年都是免费欢乐谷游玩,这些点点滴滴让员工充分体会到,公司不只仅须要你,但愿你快乐的生活并长时间的为公司服务;又例如大部分外企不会过于看重你之前的经验,那个有固然好,没有只要你能展示出很强的编程能力,设计能力和算法能力,依然会录用你,并愿意给你充分的时间学习和成长等等。 算法
此次决定跳槽找工也是想了好久,主要缘由在于本身技术的发展不能一直局限于微软技术栈,同时也但愿能作更有挑战的事情。 数据库
不过基本没有准备,由于家庭事也比较多时间有限,因此就去直接投简历面试了,业界对微软仍是相对承认,基本都有面试机会。 编程
- 小米 (Offer),面小米(指小米云平台),是以为整体来看小米云是个不错的平台,如今工做5天,强度不会太大,并且小米云里面据说牛人很多(3个Hbase comitter,不少组有大部分都是微软,Google等公司的),也符合本身专心作后台系统开发工程师的职业目标,总的来讲,面试体验不错,一共4面,没有经理面,全是工程师面技术,大部分是算法,少部分系统设计,难度不会太大;
- FreeWheel(1轮电面+2面技术+hr面fail),面的高级工程师,两轮技术都是系统设计,这里提一下,FW的技术难度仍是有的,倾向于问的比较深,可是我被拒的缘由Hr说是每一个项目的时间不够长技术深度不够,这点让我很意外,由于,我感受面试官也并不了解搜索引擎,侃了半天项目,我以为并无特别清楚面试官想问什么,最后终结于我不是很熟悉的NLP相关算法,并且由于项目时间不长就推断出技术深度不够,这点我不是很认同,固然hr表达愿意给中级工程师的offer,要我等一个月去申请,我说仍是算了;
- 美团(Offer,2轮技术),美团是我面试体验最很差的,面的外卖部门,可能急于扩张吧,等了40分钟不说,问的问题也比较容易,甚至有点。。。,彻底考察不了我的能力,不说了,美团的hr仍是不错的,最后为了挽留开到了和小米差很少的薪资,我最后仍是没答应;
- 今日头条(2轮技术+总监,fail),要我推荐一个创业公司给技术人员,我会坚决果断的推荐今日头条,面试体验很好, 基本都是百度系,从技术到总监都是百度过来的,技术水平不错,我面的基础架构部门,在分布式这块确实颇有积累,由于这个APP本质上就是个新闻垂直类搜索+推荐的引擎,只是总监面发挥很差,遗憾的没拿到offer。
- 滴滴打车(2轮技术,fail),滴滴的产品开发部面试让我充分体会到国内互联网公司对程序员招聘的态度,由于常年在微软技术栈开发,对开源技术了解不是不少,虽然咱们内部都有对应的平台,可是滴滴的工程师明显但愿过来直接能用,面试问了不少具体的细节知识(C++,网络,OS等),因为没提早准备不少没答上来,因此没拿到也在情理之中。
此次面试很有感触,从难度上说,今日头条>小米>FW>滴滴>美团,没能拿到今日头条也是很有遗憾,但也给咱们外企工做同窗的提了个醒,如今早已不是外企的黄金时代了,随着互联网的发展,中国企业已经可以展露头脚,从薪资到技术都能作到不错的水平,但因为对员工的重视以及其余方面尚未作得外企那么好,因此基本上去国内公司要作好吃苦的准备以及须要至关的适应期。同时国内企业的用人观与国外是很是不一致的,国内大部分公司对招聘人员须要拿来即用,基本不肯意给你学习时间 (可能跳槽频繁所致),对你的技术栈也很是在乎。网络
工程师的工做须要本身不断的挖掘,总结和抽象本身的工做,对感兴趣的点深挖(作到广度有的同时兼顾深度),并不断更新本身的简历和Github上的代码,这点是很重要的。架构
工做生涯的前五年是很重要的成长期,前三年我感受本身过度注重技术广度的积累对深度挖掘不够,接下来要好好深挖提升下本身对分布式系统以及后台相关开发技术的理解,同时精读一些网络,操做系统,编译原理以及数据库等基础经典书籍,多花点时间写写感兴趣的代码才是王道。机器学习