美文网首页IT面试Android 面试专辑简书·产品
我作为非对口专业如何一步步拿到BAT offer

我作为非对口专业如何一步步拿到BAT offer

作者: 牧童遥指2000 | 来源:发表于2017-11-10 01:09 被阅读222次

    前言

    本文来自FlyingByWind的投稿,感谢~

    投稿原文如下:

    经过找实习、经历校招这半年的努力,应届小硕也是找到了自己满意的工作。作为非Compute Science专业,没有ACM大赛经验,也没有特别牛逼的过人的大项目,更没有别人聪明的脑袋瓜,凭着笨鸟先飞的毅力和长时间的准备,扎扎实实做好做深做精实验室的项目,校招顺利拿到了阿里、腾讯、网易游戏等公司的offer。

    写作动机

    思考才能进步,总结才能提高。在校招找工作上花了不少的时间和精力,是该做个总结梳理一下整个思路,以留作记录,同时让读者做个参考。

    Yes-从这篇文章获得什么

    • 了解和参考我的找实习和校招历程,方便你的需要
    • 可以了解目前国内互联网公司校招的基本流程
    • 如果你是学生,可以针对本文有的放矢的提高自己技术
    • 获取校招(Java研发)准备的参考书籍和网站

    插播

    最近把各个互联网领悟的经典技术书和资源整理了一下,涵盖34个领悟,143家公司的面试真题,以及常见互联网技术领悟经典书和面试书和知名互联网公司校招薪资汇总表。

    下载地址:

    http://www.jianshu.com/p/4a9599a230af

    No-这篇文章不能给你什么

    • 完整的面试细节
    • 关于个人offer的具体内容
    • 其他不能说的秘密

    我的校招/面试经历


    阿里

    • 实习:3月份开始内推的阿里实习,前后经历了一个月,经过三轮技术面+一轮HR共4次面试,到4月底才出最后的结果。不得不说想进阿里实习,就得经历这样一个招聘的马拉松过程。好的方面是你可以针对上一次面试发现的问题,有充足的时间来理解和补漏。最后顺利拿到阿里的实习offer,为校招开了一个好头。暑假是去了阿里实习。
    • 校招:实习是在阿里菜鸟,所以校招就没有走普通的校招流程,直接内部通过转正答辩拿到了offer。实习主要是跟做项目,期间在ata和里内网上看到好多非常不错的技术分享文章,也抓紧机会学了不少。还参加了菜鸟针对所有实习生开展的马拉松编程大赛(连续48小时),很幸运地跟着队友拿了个第一名,主要是开发容器来验证阿里中间件的依赖隔离和类共享的机制,实现Pandora中间件容器的加载原理,并感知云上云下不同环境自动切换依赖等。第一名有啥好处呢,除了每个人都有价值RMB600左右的机械键盘和获奖文化衫外,队长可以直接拿校招offer,我们其他小组成员虽没直接拿到直通offer但是在后面转正答辩中加分很多,最终我们小组所有人都拿到了阿里的校招offer,这也是非常不错的奖励!

    腾讯

    • 实习:找的Java后台开发实习岗位,内推进去简历评级只有B+,然后被社交产品测试部门拉了简历。在面试前要做题目,应该是要考察你的能力。要求做实验找出QQ和微信关于上传图片快慢的原因和给出解决指导,花了2天熬夜通宵,针对ios的手机和平板、室内室外、wifi和移动网等不同场景,用Wireshark和Fiddler不断抓包分析,最后得到一份分析报告,发给招聘的主管,然后获得了面试的机会。一面面试官反馈我做的题目其实也不简单,我完成的比较令人满意。二面面试官全程聊项目,谈得很愉快轻松,感觉也很好,临走的时候面试官还友好的说让我等待三面,但是最后二面挂了,让人意外。
    • 校招:有了找实习时候的经历,校招投简历的时候没有选择明确的事业群,听说这样可以提高被捞的概率,事实确实如此。腾讯要Java的比较少,但本人只是简单了解C++但不足以用来求职所以投的还是Java开发岗位。有了阿里的实习经历,我的校招简历直接从找实习时候的B+变成了A+,这是有点让我意外的。经过三轮技术面+一轮HR共4次面试,最后也拿到了腾讯的offer。

    华为

    • 实习:两轮面试直接拿到实习offer。感觉华为的面试还是有点水的,一面面试官和你聊技术聊项目,通过后直接去做性格测试,然后二面就是部门boss和你聊人生聊NBA,最后就给我发了实习offer。由于已经有了阿里的实习offer,所以没有去华为实习。
    • 校招:通过了实习招聘,我参加的是7月份华为的校招优招,直接参加终面。7月份参加后,官网一直是录用审批中,然后就这样在资源池里面泡 了几个月,一直到10月中旬才出结果,听说是今年华为要缩招所致。由于有更好的选择,所以与华为暂时是无缘了。

    网易游戏

    • 校招:两轮技术面,每次都有两名面试官。一面是电话面一个小时(对面是两个面试官轮流问),二面直接到广州网易参加面试(也是两个面试官同时面你),感觉这就是网易的特色。全程都是问技术相关的内容。两轮技术面后直接拿到校招offer。

    百度外卖

    • 校招 百度外卖今年刚刚被亲爹卖给饿了么,所以就疯狂地扩招补充新鲜血液,发展壮大自己。因为百度外卖招的相对比较早,就想去参加面试热热身。经过三轮技术面也顺利拿到offer。由于有更好的选择,所以与百度外卖也是无缘了。

    大疆

    • 校招 参加宣讲会的时候了解到大疆在国内无人机市场找了90%以上,在全世界占了80%以上,真是恐怖的实力,前景也十分广阔,据了解大疆给员工的待遇也是很丰厚。一面基础的技术面,二面面项目和职业规划,三面还是面技术,不过是针对一个技术要点的深挖探讨。面完面试官还主动握手,感觉良好。但现实也许是残酷的,至今未收到大疆offer通知,可能是挂了。

    其他

    • 百度(深圳)、京东、网易-杭州、网易有道等笔试直接挂了,没有给面试机会。
    • CVTE面试时间和腾讯冲突,婉拒了。
    • 今日头条、唯品会、微众银行、携程、深信服科技、美团、TP-Link等公司只投了简历,但已拿了offer就不去占坑了,没参加笔试。
    • 其他公司未投递简历。

    如何看待校招技术面试

    公司的角度

    公司要招人,就是要找能给企业创造价值的员工,部门员工就是要找新的同事。

    • 为什么要校招?
      • 一方面可以补充新鲜血液,挖掘优秀人才,培养公司未来骨干,丰富公司的人才储备
      • 另一方面还可以一定程度提高公司的社会影响力(可以宣传公司、打广告)。
        而社招更讲究“即战力”,要求员工能够马上投入工作岗位为公司创造价值、做出贡献。
    • 要什么样的应届生?
      • 技术基础扎实、能力足够好等。所以你要向应聘公司证明你可以胜任这个职位
      • 学习能力强,综合素质评价高,有培养的价值等。所以你要证明你有培养的潜力
      • 善于沟通交流,有团队协作意识等。所以你要证明你待人接物、为人处世方面的能力
        大部分应届校招生没工作经验,公司招进来以后还需要花时间代价来培养。企业不是慈善家可以免费培养你,是要让你尽快地成长起来能够为公司做出贡献的。公司看重的是你在一定时间内的发展潜力,他想要的是经过在公司历练半年、一年后的你,公司愿意招你就意味着你的基础知识扎实、潜力值得培养。

    个人的角度

    个人怎么看待校招,我认为应该要从自身角度出发,向企业展示个人能力以获得青睐的岗位和薪酬。

    • 找理想工作的绝佳机会
    • 展示自己扎实的技术基础。
      平时就要积累技术能力,做好自己实验室的项目,如果没有也要想办法去做一些项目,积累经验。
      如果你应聘一个公司,但你的能力尚不足以胜任该岗位,你是老板会要这样的员工吗?所以,提高自己的技术能力吧。
    • 展示自己的学习能力,尤其是自学能力。
      互联网技术发展如此迅速,如果自学能力跟不上来,就只能慢慢被淘汰了。终身学习,如果不是自学,还会有谁陪你一起学一辈子?
    • 有不错的沟通交流能力。
      虽然性格可能会比较内向,但是绝对不是不敢主动提出问题、不敢主动去交流的借口。
    • 体现自己的思维方式、思考能力。
      做一件事情,小到做一道算法题目,大到项目的开发,动手前要分析,了解重难点、关键点,然后要做好基本的计划和安排过程,落实,不断反思-总结,改进。如果经常按照这个思维方式考虑问题,时间一久一定会获益良多。总结,很重要,可以帮助你梳理自己的思路,对做过的事情有更加全面和清楚的认识,推荐用blog的方式总结。

    校招面试的过程就是双向选择、不断寻找的过程,企业想要招到人,而你想要找到好公司,把自己最好的能力都展示出来有助于得到别人的青睐。如果你喜欢的公司器恰好也喜欢你,你们互相对上眼了,那就恭喜你,可以再续缘分。(感觉有点像相亲谈恋爱。。。)

    面试技术要点

    我面的是Java开发岗,以下记录的是凭个人回忆的面试知识点(不含笔试),难免会有疏漏。

    • Java
      • JVM内存分配机制、内存模型
      • GC(minor GC、major GC、触发条件、GC算法等)
      • 类加载机制(类隔离和类共享)
      • Java集合(List、set、HashMap、HashTable、ConcurrentHashMap等)
      • interface和abstract class
      • socket编程及NIO
      • synchronize、final、static理解
      • 异常(检测异常和未检测异常、继承关系等)
      • 反射、动态代理
      • Spring的IOC、AOP
    • 数据库
      • 第一、第二、第三范式之间的理解和比较
      • 数据库的事务、ACID及隔离级别
      • 索引优化(组合索引、最左匹配原则)、优缺点
      • 手动写创建索引的语句
      • 并发访问场景和所有可能出现的结果、锁作用和实现
      • 主主复制、主从复制
      • B-tree的应用
      • int和varchar
      • io优化
      • 分表分库设计
    • 操作系统/Linux/集群
      • shell脚本、查找文件命令
      • top命令、netstat命令、ifconfig和ipconfig
      • 乐观锁和悲观锁
      • session集群共享
      • Hadoop集群扩容问题
      • 集群负载均衡
      • 虚拟路由
      • Hadoop集群单点故障
    • 计算机网络
      • 传输层协议TCP和UDP
      • http和https(对称加密、非对称加密)
      • ftp和sftp
      • 从访问一个网址到页面出现,描述中间发生的所有事情。
    • 数据结构&算法&设计模式
      • Hash及冲突解决
      • 二叉搜索树
      • 手写快速排序算法、单链表反转、字符串部分逆序(如moc.anis.www转为www.sina.com
      • 手写二叉树层序遍历、二分查找、递归算法实现
      • 超大文件寻找top K算法设计(单机1M内存、Hadoop集群、外部排序+uniq命令)
      • 算法设计:给定函数a可以等概率产生1-5这5个数,仅调用a实现等概率产生1-7这7个数
      • 用栈实现队列
      • 订单超大并发访问-队列批量处理
      • 观察者模式、工厂模式、适配器模式
    • 智力题
      • 估算武汉市需要多少个消防站。
      • 有两根粗细不均匀的香(烧香拜佛的香),每一根烧完都花一个小时,怎么样能够得到15min?
      • 下一场雨,估算武汉市总降雨量吨数。
      • 盒子里放水果,猜哪个盒子放什么水果。
    • 项目
      • 每个项目从整体架构设计、扩展性、后续优化到任何实现细节都有可能会问。对做过的事情需要多总结和优化思考。项目这块是需要花大量心思准备的。

    如何提高自己的技术能力

    人与人之间的差别在于业余时间。技术能力的增长是比较缓慢的,成长都是要靠平时一点一滴的积累。用一句话总结,不积跬步无以至千里,不积小流无以成江海。

    • 有良好的自控能力,能够自律。偶尔玩玩王者荣耀、打打阴阳师,和同学打个篮球都没关系,适可而止。
    • 有严格的时间观念。早上第一件事是规划自己当天要做的事情,按重要紧急分类排序,量适当。晚上一般是总结。
    • 看书。书籍是使人进步的阶梯。

    对于技术类书籍,都尽量在看过之后把书上的例题都亲自敲代码实现一遍。以下是读研期间个人看过的一些书籍(部分章节或全部):


    看过的书籍
    • 到课程网站和博客网站持续学习
      不错的IT网站:
      • 牛客网 很多互联网公司直接在这上面笔试,还可以刷真题练习,力荐
      • 赛码网 性质类似牛客网,推荐
      • 慕课网 不错在线视频教学网站
      • 实验楼 另一个学习IT技术的天地,推荐
      • ImportNew 专注于Java技术分享的平台,推荐
      • stackoverflow 神一般的技术问答平台,力荐
      • OSChina 开源中国社区,推荐
      • 博客园 不错的技术博客网站,推荐
      • leetcode 刷算法题圣地,推荐
      • 其他如GitHub、CSDN等优秀网站
    • 项目
      做好实验室的项目,如果没有项目也要自己找一些玩具项目来练手,总之就是把学到的技术应用到项目中去,实践出真知。同时及时补充项目需要的新技术,学习和实践是一个相辅相成、不断交织的过程。
    • 学会总结
      写技术分享博客,重在帮助自己总结,分享只是一个次要的过程。坚持就是胜利。
    • 最重要的是会搜【Google】解决问题
      怎么样可以访问Google,相信你可以完美解决的这个问题的,此处不再赘述。

    如何有针对性的准备面试

    • 明确自己的岗位(最好只投一个)和工作地点,精准投递。
    • 简历上出现的每一个字都要能说出所以然,否则就不要写上去
    • 面试前有针对性的调研面试部门在公司的定位、战略意义,增加自己对公司部门的了解。
    • 调研面试岗位需要哪些技能要求,提前针对性准备。
    • 寻找网上的面经,学习之。对着面经,模拟面试的过程,看自己是否能够完美回答,如果不行就做好标记好好准备。

    面试小技巧

    • 要表现得自信、积极乐观
    • 主动引导面试官问自己会的内容
      回答问题时把不会的或者答得不好的问题引向自己熟悉的、有把握的方向。校招腾讯二面面试问我是否了解二分排序,当时一下子没什么印象,如果我当时什么都不做直接回答“不会”,那二面之后基本挂了。但是我当时就说二分排序没什么印象但是对二分查找还是有了解的,然后面试官就让我手写二分查找的代码,几分钟我就写完了,还简单分析了算法复杂度的情况。这样自己就很好地把握了面试的主动权了,也顺利过了二面。
    • 不同角度回答问题
      正反方面去阐述,如果可以就尽量举例具体说明问题。比如阿里一面问我IOC有什么好处时,先说弊端,没用框架前都是在代码里面硬编码创建对象,耦合度高、扩展性差;然后从另一个方面说优点,用了框架后可以把对象生命的整个周期交给框架管理,有解耦合、有良好的扩展性等优点。这样一来面试官就相信你理解了这个知识点,而不是背书。
    • 多用数字说话
      网易游戏面试官问我做的项目有什么成果,如果我说处理了大部分的投诉,提高了工作效率,这样的回答感觉绵软无力。如果平时就注意做好总结,就可以说系统查询时延在1s内,处理了原来70%的工单任务,效率提高80%,后者显得你更加专业、有说服力。
    • 敢于承认自己不会的问题
      遇到不会的问题时,不懂装懂的人一定会杯具的。面试中要真诚,面试官看过的人成百上千,纸是包不住火的,强行装下去只会让面试官对你更加失望。倒不如大方承认这方面知识相对缺乏,还可以趁机询问面试官给点指导意见帮助你思考,从而体现你的上进心、进取心,赢得更好的印象分。
    • 回来后反思总结
      面试过后一定会有自己不满意的地方,应该及时复盘合总结。想想自己哪里的技术不会,哪些语言需要重新组织,哪里应该举例说明,说不定下一次面试就遇到了呢。

    所有的面试技巧,都没有你过硬的技术能力有说服力!

    公司招聘流程

    个人建议直接到公司官网投递简历或者找内部员工内推(牛客网、知乎等网站有很多内推信息,信息要鉴别真伪,但比较可靠),笔试之后是面试,可能是电话面试或者现场面试,最后HR面。通过所有流程都走完,过五关斩六将,那么恭喜你拿到了offer。


    校招流程

    个人建议

    • 早点准备,越早越好。
    • 现在就开始制作自己的简历。当发现自己简历没什么内容可写时,起码还有时间弥补。
    • 可以多投几家公司。目标要远大也要切实际,把想去的公司分高中低几档分别投递,保证了冲击一流企业的机会,也可以拿到保底的offer,不怕最后一无所有。

    Do it right now!要求不高,每天进步一点点!

    祝各位顺利!

    最后

    最近把各个互联网领悟的经典技术书和资源整理了一下,涵盖34个领悟,143家公司的面试真题,以及常见互联网技术领悟经典书和面试书和知名互联网公司校招薪资汇总表。

    下载地址:

    http://www.jianshu.com/p/4a9599a230af

    相关文章

      网友评论

        本文标题: 我作为非对口专业如何一步步拿到BAT offer

        本文链接:https://www.haomeiwen.com/subject/tdevmxtx.html