2018 秋招找工作总结

经历了大大小小的二三十轮笔试面试,秋招终于快结束了。 先总结下目前已经稳了的公司:

着手准备秋招,7月初找学长内推阿里打响秋招第一枪,经历过等待面试结果的煎熬,经历过第一轮面试就被拒的伤心,经历过什么书都看不进去的迷茫,也经历过突然收到聘用意向书一晚上没睡着的激动,每天刷十几遍邮箱,紧紧盯着手机怕就漏接一个面试电话。。。

通过了9月3号的头条的三面后就决定不再投新的公司,总体下来还算比较顺利,感觉没必要继续刷offer了,后面就基本不再准备秋招的事了。

感谢爸妈,感谢学长学姐,感谢互相支持的朋友,感谢牛客网的牛哥牛妹。虽然距离能进微软谷歌的大神还差得远,还是想稍微总结下这段经历。

自我介绍

先简单介绍下自己的情况,山东科技大学计算机学院软件工程专业2014级学生,非211,非大神,参加了两年半ACM集训,虽然拿到过省一国二但是其实还是挺水。

做过比较大的项目就是去年做的集训队管理系统ACManager了,其实就是一个SSH的Web项目,已经投入使用一年多了。

大三下学期拿到了百度的实习offer,负责网页页面分析和分类的相关工作,主语言是C++。

因为一直准备也一直想从事Java相关的工作,对Web和架构比较感兴趣,所以秋招找工作一直是投递的Java后端研发相关的职位。后面的一些经验也主要是按照Java岗来总结的。

附:春招简历秋招简历

笔试总结

和往年不同,现在多数互联网公司的笔试基本都安排在了线上,像是阿里有自己的笔试平台,其他公司也基本都是用的牛客网赛码网之类平台进行笔试。

笔试一般有选择题(单选+多选)、智商题、问答题、设计题、编程题等几种题型。

不要以为面Java笔试就只有Java的题,一般C、C++、Java、SQL、Shell甚至PHP、JavaScript都会有,但不会特别难,考察的都是语言的基本语法。另外还会出现操作系统、计算机网络、设计模式、数据库系统、算法、数据结构、排列组合等等相关的题目。

问答题和设计题一般是让你设计一个系统,比如设计URL长转短网站,或设计一个秒杀网站等,需要考虑功能、并发、分布式、缓存、存储、网络、一致性等等方面。平时如果看一些大型网站架构相关的书问题应该不大。

编程题一般有2-3道题,不同公司的题目难度不一,做过全是水题排序一下就AC的,也有刚发表的那种论文题。笔试里的编程题相比ACM比较好的一点是可以重复提交,以最后一次提交得分为准,是否AC会直接显示。编程题对于练过ACM的同学还是比较吃香的,一般都是在比赛中见惯了的题目类型,比如暴力、贪心、动态规划。可以看一下我之前写的网易内推校招编程题题解:

笔试这一块想准备的话,可以刷《技术之曈》和《剑指offer》,另外可以做牛客网的大厂编程题,多多益善。

准备面试

春招的时候只面过百度、阿里巴巴,还有一家创业公司HyperReal,因为当时只有阿里投递的是Java岗,所以各种经验也是从阿里那次面试起步的。印象中那次一面面试官技术非常牛,好像什么也会,把项目里用到的所有技术都问一通,一个技术点如果回答上来了还会死死地深入的问原理,直到回答不上来。二面的时候由于某些原因刚刚通宵了一夜,上午9点接到电话后基本处于蒙逼状态,面试官说了5遍问题都没听懂,然后就挂了...当然主观原因还是自己太水了,缺乏对项目的高层次理解。

所以秋招在准备的时候,也稍微涨了一些经验,在准备面试知识点的深度和广度方面,还有和面试官的沟通方面,有了更好地把握。整理了不少关于校招常考知识点的博客,同时对简历中写“擅长”(不敢写精通)的两三个部分,进行深入的研究和理解。

另外想说的就是,机会往往会留给有准备的人。我在美团一面的时候被问到了LRU的概念和实现的问题,然后当晚就总结了一篇博客,并且更深入地研究了如何自己代码实现一个LRU缓存。结果在后面头条二面的时候就被问到了,让写代码实现LRU缓存,然后就清晰地讲出了原理写出了代码。

所以还是建议在看书看博客学习的同时,尽量每天抽时间去刷同公司同职位别人被问的面试题,整理出自己不会的,然后分类集中精力去攻克。

需要关注的技术方向(偏向于JavaWeb后端)

面试过程

阿里巴巴 天猫技术部 Java研发

一面

  • 自我介绍
  • ACM经历、印象最深的题目、ACM过程中的挫折
  • ACManager项目成员、如何提高某页面的响应速度、网站数据的来源、爬虫脏读问题
  • 讲一下实习所做的工作,工作中用了什么算法,用的什么语言
  • Java相对于C++的优点
  • Spring @Autowired和@Resource的区别
  • 讲一下JVM的新生代和老年代
  • 讲一下数据库查询慢的优化方法
  • Java序列化的作用,应用场景
  • 讲一下HashMap在多线程环境下使用可能的后果、有啥替代方案
  • 是否关注新技术、HTTPS相对HTTP有啥好处
  • 未来几年的职业规划

二面

  • 在百度做了什么工作,是怎么做的,用了什么算法,怎么check效果?
  • 用Java做过什么项目,项目用了Java中的哪些框架?
  • 为什么要用Spring?
  • 为什么要用SpringMVC,如果没有这玩意,你自己咋实现?
  • 有啥想问我的

三面

  • 在哪里实习的?介绍下在百度做的项目
  • 团队人数?项目背景?团队目标?个人目标?
  • 项目里的策略具体是怎么实现的?策略是自己开发的么?团队内会互相学习策略么?
  • 测试数据集有多大?关键词表有多大?
  • 在百度印象最深的一件事?
  • 公司和个人用什么语言?喜欢研究哪一块?
  • 平时都是怎么提升个人能力的?比如并发分布式这一块?
  • 如何保证你学到的高并发技术,不是demo层面,而是真正能在高并发环境行得通?
  • 如何实现10w并发的注册服务,或者说如何实现流量暴增时候,我只需要往集群里加机器就可以?(答了一些负载均衡、消息队列、缓存、反向代理、CDN,面试官说你的回答和我问的问题不是同一个抽象层次,这些只是技术实现的一种方式而已 = = 囧,感觉应该回答架构上的思路吧 = =)

四面(交叉面)

  • 自我介绍
  • 在百度做的工作和具体细节,策略实现方式
  • ACM练了多久?简单介绍下山东省赛的情况
  • 刷过多少题?ACM过程中最难忘的一道题
  • Linux的内存管理方面有了解吗?(不了解)那你了解操作系统啥?
  • 讲一下死锁的产生条件和避免吧
  • 讲一下银行家算法是如何避免死锁的
  • Linux的IO讲一下?(类型、IO效率、链接数、支持IO大小)
  • 求最短路的算法中了解哪些?具体讲下dijkstra算法吧
  • 讲下JVM中的内存模型吧
  • 有什么想问我的

五面(HR面)

  • 意向工作和打算?
  • 你说有比赛top3,简单介绍下情况
  • 大学学的专业?算法方面的课程情况
  • 介绍下软件杯这个项目?前后端意向?
  • 介绍下在百度做的工作,项目背景,你的角色
  • 百度工作和个人技术兴趣是否契合?
  • 对工作环境、地点、方向有什么要求?
  • 有什么想问我的?(问了两个问题,信号太差面试官都听错了 = =)

整理来讲,感觉阿里5面基础知识方面考察的不是特别深,没有阿里实习面试那么刁钻,都是面试常考题。但是项目、思路、思维广度方面问的比较深,有些防不胜防。

腾讯 大连分公司(QQ音乐) 研发工程师

一面

  • 自我介绍
  • 百度网讯和百度的区别?
  • vector、list、map、set区别,底层实现机制,复杂度
  • 虚函数了解么?
  • 对哪些方面比较擅长?
  • 平时工作用Linux么?
  • 线程和进程的区别?
  • 如何停止掉一个进程(不管是里面的还是外面的)?
  • 僵尸进程是如何产生的?
  • MySQL了解么?精通么?
  • TCP了解么?
  • TIME_WAIT这个状态是怎么产生的?
  • 实习多久了?
  • 实习单位给转正么?

面试问了一堆C++和操作系统方面的东西,然而C++好久没看了,操作系统答得也不是很好,然后就挂了。电话打来是大连的号,后来问庄神说这个可能是腾讯的外包公司,也就没再放在心上。

蘑菇街 基础平台部 Java研发

一面

  • 自我介绍
  • 用Java实现ipv4识别(正则 手写 细节)
  • 含有重复数字的有序数组,如何判断某个数出现次数?
  • 硬币兑换问题(贪心 动态规划 区别 证明)
  • ACM比赛中最擅长的题目类型?
  • 如何手写解析Sql where语句(词法分析 语法分析 编译优化)
  • 手写一个客户端,实现url计数器功能,具备输入存储等功能,考虑系统怎么实现,需要注意的点(系统设计 并发 IO优化 消息队列)
  • 简历中吹的大学10w代码量怎么来的?写一个代码行统计工具需要考哪些?
  • 在百度的主要工作,项目中的策略具体怎么实现?
  • 有什么想要问我的

二面

  • 自我介绍
  • 在学校里有哪些专业课?哪些课学的比较好?学的比较好的原因是什么?
  • Java整个体技术系你都会哪些方面?(语言、虚拟机、框架)
  • 现在用的JDK几,JDK8有啥改进?
  • JDK8在JVM方面和语言方面各有啥改进?
  • 说一下JDK7的内存管理吧
  • 有没有遇到虚拟机调优相关的问题,怎么解决的?
  • 并发相关的库有了解吗?讲一下项目中用到的并发的场景
  • 了解过无锁吗?无锁优缺点?场景?
  • 项目的爬虫、计算、排行整个是怎么架构的?
  • 前后端传输巨型对象有啥好办法?(回答的分页、异步、zip压缩、业务分离)
  • 希望从事哪些方面的工作?
  • 有对分布式,rpc,中间件相关框架和原理的了解吗?
  • 如果能通过面试,可以过来实习吗?你对实习有啥看法?时间?
  • 有啥想问我的?

三面(HR面)

  • 对前面面试官有啥评价?
  • 项目和ACM自己的角色?作为管理者觉得有什么能改进?
  • 在百度做了什么?收获最大的是什么?
  • 平时怎么和同事交流?哪些方面?如何做跨部门的交流?
  • 在百度参加过团建吗?
  • 老师、同学、上级是怎么评价你的?
  • 觉得自己有什么缺点可以改进?
  • 最近除了工作还在忙什么?减肥从多少斤到了多少斤?学英语的动机?
  • 怎么看待杭州?来过杭州吗?来干嘛了?北京杭州优缺点?
  • 百度给offer吗?还有其他offer吗?在面试其他公司吗?
  • 期待薪资?最后如何选择offer?
  • 家里是怎么看待蘑菇街这份工作的?
  • 有女朋友吗?(...)
  • 有什么要问我的?

四面(CTO视频面)

  • 自我介绍
  • 在百度做的工作内容
  • 意向城市、技术方向
  • 有没有面杭州其他公司?阿里投递状态?
  • 印象最深刻的bug?
  • 有没有什么想问我的?

360 天眼 Java研发

一面(现场面)

  • 在百度做了什么?具体细节
  • 手写DFS(也没说具体背景,就让写个DFS,懵逼...)
  • 做过啥Java项目
  • Spring知道啥
  • 高并发知道啥
  • JVM知道啥
  • 用过什么数据库,MySQL知道啥,详细说说索引
  • Python写过啥,具体细节(黑了一波py,面试官可能不太爽)
  • win和linux换行符分别是啥(答反了)
  • 讲讲层次聚类算法
  • SHA1和MD5区别,MD5被破解了咋办?(加盐/二次MD5)
  • 大数据了解吗?
  • ElasticSearch了解吗?(帅神用过的框架,没看过)

整个面试下来明显感觉到面试官不会Java.....然后好像对python和大数据异常感兴趣,然后想着这面试官也太神奇了.......然后微信刷了下二维码,就挂了,然后就进了360人才库....可能还是太水了。

美团点评 技术工程及基础数据平台 Java研发

一面

  • 自我介绍
  • 个人未来工作意向,技术方向
  • 线程和进程区别?协程了解过吗?
  • 了解LRU算法吗?应用?
  • 了解过哪些速度快的排序算法?堆排序用什么数据结构实现?是否稳定?为什么?
  • ConcurrentHashMap如何实现?
  • HashMap扩容的相关细节与实现
  • HashMap中可以放null吗?如何实现?
  • 如何统计系统中某个端口的链接数?netstat能看哪些信息?
  • CLOSE_WAIT这个状态持续很长时间正常吗?
  • 动态代理了解吗?如何实现?应用场景?
  • 个人还对哪些技术比较了解?
  • 说一下JVM中常见的性能调优工具
  • 可以来北京现场面试吗?面试通过后可以先过来实习吗?
  • 有什么想问我的?

一面结束后说让等二面,结果约二面的时候刚好在南京参加软件杯决赛,约了两次时间都不合适。后来美团的学长找到我说内推面试流程这周就结束了,相当于挂了,感觉还是略可惜。

知乎 Java后端

一面

  • 自我介绍
  • 百度做的工作内容,场景,量
  • 进程和线程的区别,为什么线程比进程快
  • 对虚拟内存的了解,有什么优点?
  • LinuxIO复用的模式了解哪些?epoll和select的内部实现
  • 线程的实现方式有哪些
  • 线程池应用场景,相对线程的好处
  • JVM了解哪些?JVM堆为什么要分区?
  • 场景题:知乎要有300w用户,1000个广告,在一个广告位上显示广告,要求每个用户7天内不能看同一个广告超过三次,如何设计?
  • 有什么想问我的

二面

  • 什么时候毕业?
  • 在百度做的工作?用了什么算法?细节
  • 讲一下ACManager这个项目
  • 并发编程在项目中是怎么应用的?如果想继续优化你的爬虫还有什么思路?
  • 层次聚类算法用在了哪里?为什么不用别的聚类算法?
  • 感兴趣的技术方向,未来3-5年的职业规划?
  • 是否计划留在百度?
  • 最近在看什么书?(七周七并发)讲一下看过的内容
  • 有什么想问我的?
知乎还是挺速度的,头一天官网投简历,下午HR打电话说简历筛选通过,第二天上午一面,下午二面,过了两天就谈offer了。

今日头条

一面

  • 自我介绍
  • 介绍下在百度的工作和ACManager这个项目
  • 百度工作有什么难点,怎么解决的
  • ACManager用了什么牛逼的技术
  • 并发编程是怎么使用的,效果怎么样?
  • 进程和线程的区别,进程和线程通信方式有什么不同?
  • 设计模式了解哪些?组合模式有什么好处?手写一个单例模式
  • 手写算法:实现一个树形结构(嵌套数组)的Iterator(next, hasNext, 非递归)
  • 说一下操作系统中换页相关的内容(不会 = =)
  • 有什么想问我的?

二面

  • 场景题:自己实现一个分布式的长短URL转换(短网址)网站,需要考虑:并发,业务,算法,分布式,缓存,存储,一致性,容灾,性能
  • 设计题:现在有互斥锁mutex一把,请实现读写锁(思路+实现,不会)
  • 算法题:手动实现一个LRU的缓存(思路、数据结构、算法、手写get和set方法)
  • 有什么想问我的

三面

  • 自我介绍
  • 说下在百度所做的工作
  • 说下ACManager这个系统
  • 个人对业务还是架构感兴趣?
  • 对nginx,LVS了解吗,是否读过源码,架构,负载均衡机制?
  • IO方面有哪些了解?你觉得怎么达到最高性能?了解哪些框架?讲下Netty的架构
  • 写过socket吗?代码层面如何关闭一个TCP连接?socket机制和源码看过吗?
  • 设计一个系统,360开机击败百分之多少这样的服务端,考虑性能、QPS、传输、缓存、算法等
  • 有什么想问我的?

头条的面试还是挺给力的,几乎是远程面试速度最快的了,不用焦急等面试结果,基本一上午三面下来就完事了,每轮完事HR和微信都会通知面试结果。

总结

一个公式

牛逼offer = 牛逼学校 + 牛逼实习 + 牛逼项目 + 牛逼奖项 这是之前看群里的学长总结的,我觉得还得加两点,认真学习基础知识 + 运(人)气(品)。

新的起点

之前看学长的一篇工作经验的文章,评论区里有句话:

你们应届生呢?就是喜欢拿到阿里百度的offer以后要写一篇文章写一下心得,貌似完成了一件人生大事。去了就知道了,一样屌丝一个啊。别看着账面上十几二十万的年薪,干了一年能存几个钱还是未知数。对不起,给你们泼冷水了。

我觉得这句话说的挺有道理的,这只是一个新的起点。今天很残酷,未来更残酷;学校很残酷,社会更残酷。希望也相信自己未来会更加努力。

原文地址:https://www.cnblogs.com/kunsoft/p/13661767.html