【校招总结】【旧文回顾】百度实习收获美团网易小米华为远景offer

这篇文章是两年半前找完工作后写的,记录了校招路上经历,把一些经验总结沉淀下来,希望能帮到正在招聘路上的你。

方向比努力更重要

这是一个非常重要的问题,我们从小就在学习,从小学到初中再到高中,我们都只是接触学科的基础知识,然后经历关键转折点——高考,我们在暑假差不多一个月的时间里(提前批可能更短)要确定大学的所学的专业,会考虑很多因素,比如兴趣、就业发展、学校专业名气等等,对学生和家长来说都很难,这里可能就会掉到坑里,因为你对你选的专业可能都没一个50%的认识,也不知道未来会从事什么类型的工作,大学虽然都会开设职业规划的课,但我觉得也只是泛泛讲讲(可能我真的没认真听讲吧),总之我建议多接触社会,多和已经工作的师兄师姐交流,有机会尽早去实习,只要是你喜欢的或你认定以后要做的职业,都应该去尝试,在实践中再重认识。

我身边的一个朋友在本科毕业和研究生期间各找了一份软件开发的实习,结束后发现他自己不太适合开发的工作,更喜欢与人打交道,所以后来就开始找销售类型的实习,发现兴趣点其实在这,所以秋招就目标明确找销售类工作,这就是一个很好的职业选择例子啊。

职业选择要趁早

我来对这一行业做个大致的分类,其中有一部分会有重叠,细心的你肯定已经发现了:

  • 互联网:BAT TMD 网易 京东 字节跳动 拼多多 小红书 携程等
  • 通信设备:华为 中兴 新华三 爱立信 vivo 等
  • 事业单位:移动 电信 联通 国家电网 研究所如南京14所 28所 55所
  • 银行:招商银行 招银网络 信用卡IT中心 建设银行 南京银行等
  • 独角兽公司:商汤科技 face++ 依图科技 地平线 图森等
  • 外企:google facebook 微软 虹软 思科 高通 PayPal TW 英伟达等

每个行业都有不同的特点,比如外企不怎么加班,生活可以兼顾;互联网公司大部分都会加班,有的一周6天,有的大小周,但氛围年轻化,项目迭代迅速,有机会快速成长;银行稳定福利待遇好等等。根据自己的性格和职业规划去选择。

对于技术岗职业选择大致分类:

  • 算法:图像算法 自然语言处理算法 自动驾驶 通信算法等
  • 开发:前端开发 后台开发 运维开发 大数据开发等
  • 测试:测试开发 测试等
  • 数据分析

非技术岗位大致分类:产品、运营、销售、财务、法务、HR等
可以根据相关工作内容和兴趣爱好来决定自己的求职方向,每个职业网上都会有详细的介绍。

预则立,不预则废

没拿到好的offer不代表你不够聪明只是准备的不够充分。我刚开始是2017年春招我帮师兄一起做笔试题,那时我什么都不懂,只能上网帮查一些简单的概念下的题目,帮的忙不算多但了解到了笔试是个怎么样的过程,一般有选择题、问答题、编程题。选择题的知识面类型涵盖Java基础知识、数据库、数据结构、算法、设计模式、Linux、多线程、Java虚拟机、概率智力题,这个可以去牛客网找个几个公司套题就发现出题规律了,而且牛客网还有各种知识点的专项训练,针对薄弱的知识点进行做题训练。知道了规律就可以开始准备了,一下子这么多考点该怎么准备呢,是买一堆书籍一本一本的啃还是就一直刷题?

首先我是从看别人面经(面试经验)开始的,快速得到面试前线的情况,然后把面经中每个知识点类型挑选出来分类,比如java基础经常问的问题有重载与重写的什么意思,异常类型和异常处理,object类方法等等;比如多线程编程中,经常问有哪些类型的锁,多线程实现方式,如何理解死锁等等。这样就把每个知识点常问问题聚合在一起,虽然也是很零散的点,但是很重要的点,可以以这些问题为中心向外扩展,带着问题去阅读。

其次就是看公司招聘JD,比如我找了网易考拉的Java开发工程师的要求:

  • 熟悉各种常见数据结构和算法
  • 反射、泛型、多线程、java虚拟机清晰认识
  • 熟悉MySql数据库,关系型数据库应用设计
  • 熟悉java web 开发相关,spring mvc、mybatis,了解各类常用中间件
  • maven、git熟练操作
  • 熟悉计算机网络知识

通过面经和岗位需求就可以大致把方向把握住了,下面我就我看过的书籍和体验来推荐一些适合阅读的书籍。

  1. Java基础:《Java从入门到精通》清华大学出版社,《Java核心技术卷一二》机械工业出版社,《Effective Java》机械工业出版社。第一本可以对Java有个大致熟悉,可以快速上手,第二本就讲的很详细,卷一主要是基础知识,卷二就是高级特性,第三本就是使用过程一些容易忽视的细节,分了11章大概80多条建议,不建议新手直接读,有一定经验后阅读体会更深。
  2. 数据结构与算法:《大话数据结构》程杰著,《算法导论》机械工业出版社,《剑指Offer》电子工业出版社。第一本可以快速建立认识,其中代码是用伪代码,易读易懂充满乐趣;第二本就是算法圣经了,很厚的一本,每章都会有习题,对基础算法查找,排序等都有详细的介绍;第三本是非常重要的一本,大概有60道题目,提供最优算法,一步一步讲解思路,几乎所有面试中面试官都会出几道剑指offer上的原题或者变型。
  3. 数据库:《MySql必知必会》人民邮电出版社,《高性能MySql》电子工业出版社,《Redis深度历险》码洞,《Redis实战》人民邮电出版社,《Redis设计与实现》机械工业出版社。第一本是讲MySql基本操作增删改查之类的,可以快速上手;第二本需要重点阅读,这本书不仅提供了宽度也提供了深度,而且每次面试面试官都会问数据库的问题,问你如何优化数据库性能,数据库底层实现之类的问题,都可以在这本书中找到答案。后面三本都是讲Redis的,《redis设计与实现》应该是讲的最详细的,各种数据类型的底层结构都详细讲解,还有很多redis特点。
  4. 设计模式:《大话设计模式》程杰著,《Head First》。设计模式由四位大师总结了29种设计方法,都是经验总结,所以对于刚学编程的人来说并不实用,不能切身体会到价值。可以做一定的了解,因为面试中面试官也会问了解哪些设计模式及这些模式间的区别。
  5. 多线程编程:《Java多线程编程核心技术》高洪岩,《Java并发编程的艺术》方腾飞。第二本比第一本更详细一些,在第一本建立一个完整理论架构后对一些细节的掌握可以阅读第二本书。
  6. 虚拟机:《深入理解Java虚拟机》周志明。这一本我认为足够了,建议反复读,每隔一段时间读都会有新的收获的。
  7. 框架:《Sping实战》人民邮电出版社,《Spring技术内幕》计文柯,《轻量级JavaEE企业应用实战》电子工业出版社。前两本不建议直接上来啃,先让框架能跑起来,然后再懂原理,最后再优化,按这个步骤来学习是最好的方式。面试中经常会问Spring两大核心是什么,底层实现原理是什么,这就需要阅读这两本书和看源代码来找答案了。
  8. 其他:《鸟哥的Linux私房菜》鸟哥,《深入理解计算机系统》Randal E.Bryant,《大型网站技术架构》李智慧。Linux的问题也是面试经常问的,一些指令和功能,建议一边读一边敲一边思考,多用自然就熟练了;对于非科班出身的,一些计算机的基础知识掌握的不熟,需要好好阅读补下这方面的知识,腾讯面试会问很多底层的知识;一般面试也会考察一些知识宽度,比如双十一零点大型流量怎么从前端到后端的优化处理,可以了解一些常用做法。

上面推荐了很多书籍,不可能一下子读完,更不可能一下子就读懂,建议一边读一边实践,看完书上的代码后自己脑袋中过一遍,想明白了之后自己敲下来实现,实现完后跑一跑,虽然会慢一些,但是经过这个过程你会掌握的更加牢固深刻,也会真正体会到编程的快乐。读书做好规划和心理准备。

推荐一些我觉得不错的一些公众号,空闲的时间可以看看。

  • Hollis:阿里大佬,有很多干货
  • 码农翻身:用讲故事的方式把技术讲的浅显易懂,读完后有一种醍醐灌顶的感觉
  • 美团技术团队:美团点评对技术团队对外窗口,每周推送技术文章
  • 阿里技术:阿里的技术创新均呈现于此
  • 腾讯技术工程:
  • 架构师之路:
  • 占小狼的博客:美团中间件开发大佬

最后推荐比较好的网站

  • 阮一峰博客http://www.ruanyifeng.com/home.html
  • 并发编程网http://ifeve.com/
  • infoQ官网https://www.infoq.cn/
  • 左耳朵耗子博客https://coolshell.cn/articles/author/haoel
  • 公众号文章精选https://tool.lu/article/

人类不断地犯同样的错误,但从没有去吸取教训。

技术(60)+状态(20)+运气(20)=面试通过
所以一次面试失败并不能代表你实力不行,但是一次失败的经验是值得好好反思和复盘的,是哪里出了问题,是技术答不上来还是表现的很紧张,还是面试官与你八字不合(手动狗头滑稽)。刚开始面试的时候每个人难免都会有些紧张,一旦答不上来一个问题就心跳加快,头脑一片混乱,导致说话吞吞吐吐,这样就显得心虚和不自信,面试官看来就会觉得你对这个知识点掌握的不深刻,评价自然就不会很高。所以哪出现问题就去解决出现的问题,运气这个嘛…不必太在意,面试就是一个相互喜欢的过程,就像谈恋爱的一样,他不喜欢你,说明他没有眼光,哼╭(╯^╰)╮

以下是面试中的一些小tips:

  1. 视频面试,电话面试中可以用手机放在旁边录音,不仅记录面试官提出的问题而且还可以记录自己的回答过程,是否说的吞吞吐吐或答得点不全面,面完后好好总结复盘。
  2. 基本上所有面试官上来会先让你进行自我介绍,不仅是个进入状态的过程,也是把闪光点展示出来的机会,预先准备好自我介绍,大概一分钟左右吧,主要围绕岗位相关突出一些亮点。
  3. 对于面试官问了不理解的问题可以有以下几个方式(1)可以给一些提示吗?我不是很理解(2)我没有接触过这样的问题,但据我所知的相关知识,我觉得应该是这样的…(3)我没有接触过这样的问题,可以换个题目吗。前两个问答显得更好,尤其第二个不仅给出了自己想法还快速引导到自己熟悉的领域,然后就开始你的show了。
  4. 每次面试都会有手撕代码的编程题(1)先听清楚问题,不是完全理解要多问几次,不然写完和面试官想要的不一样,在我拼多多和猿辅导面试中就出现了这种情况,结果自然是不好的;(2)不要听完就直接写,可以先说说你的思路,从比较直观的思路说起,可能这时候时间复杂度很高,然后再思考如何降低复杂度,一般面试官想要答案都是最优的实现算法;(3)字迹清晰,变量名方法名不要随便取a,b,c这样,这样会显得不专业,写完检查一遍,自测一下,注意边界情况;(4)照着代码给面试官讲解,告诉时间复杂度,空间复杂度是多少,显得思路清晰。
  5. 记得在面阿里终面时,面试官最后问还有什么要补充的吗,一些我没有问到的你比较擅长的方向,如果你对某一个方面感兴趣有研究,这就是你表现的机会了,说的好肯定能增加不少好感的,这个好感可能会掩盖掉你的不足,增加录取概率。
  6. 每次面试最后面试官都会问有什么问题要问的吗,这时候一定要问问题,但不能瞎问,比如问今天面试我能通过吗?今年校招招多少人?这样问题显得很没有水平,你可以问问部门主要业务,未来发展,或者今天答得不好的地方希望得到正确解答,或者对我的今天面试的提一些建议等等。
  7. 非常重要,非常重要,非常重要!面试结束后主动和面试官握手,面带微笑,道声感谢。面试官出来面试从白天一直面很累的,站在对方的角度想想,他们也是为了完成上面招人的任务,很不容易的,所以感谢他的时间付出,也可以留下好的印象哦。视频面试可以加面试官微信,可以表达下希望加入公司的愿望。
  8. 每次面试后记得认真复盘总结,不要觉得面了就过去,其实复盘才是最重要的,只有这样才能查漏补缺,在以后的面试表现的更好。比如面试官让写二叉树前序遍历,你写了递归的,你是不是可以把非递归的也写一下,你是不是还可以把二叉树中序/后序遍历递归和非递归的也写一写呢,写完再一起比较一下呢。

Offer不在多,希望选的这一个是你满意的

以下分享我的选择观:

  1. 行业,职位,平台,工作地点,薪资,福利这些因素,更细了说技术氛围、领导班子水平、业务发展前景。每个人心里都会按不同的权重排序,可以对每个offer进行加权积分,最高分的那个是客观上最合适的那个。
  2. 如何更加全面了解公司信息(1)与HR沟通,上下班时间、晋升普调、公积金缴纳、内部福利等等(2)问已经在公司的师兄师姐咨询(3)脉脉,牛客网上提问
  3. 多听听家人的意见。耐心给父母讲讲工作内容职责,让父母理解你的选择,支持你的选择,要相信父母是永远爱自己的孩子的。

对自己做的选择负责,也尊重其他人的选择,不要觉得别人薪资低就瞧不起别人,也不要因为别人薪资高而羡慕别人,做好自己,因为你就是你。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值