三本菜鸡的秋招记录以及教训总结
- 目前就拿到北森和神州信息的offer,ThoughtWorks还有爱数以及同花顺hr面完了还没出结果,北森今年挺香的就不准备继续面了(要转语言)。
- 10.09同花顺oc(工资比北森低的有点多拒了)
- 10.10爱数打电话转上海(拒了)
- 10.12小鱼易连打电话通过,叫去参观。(大概就是介绍一下公司的概况,然后最后送了点小礼品[手机支架啥的])
- 虽然人太菜了没有拿到几个offer,还是记录一下供同样是三本的同学参考一下,以防走我走过的弯路。
基本情况
- 写了两个项目,全部都是自己写的,不是跟着视频写的:
- 一个在线学习的,比较简单,主要是CRUD啥的,然后优化了两个点。
- 通过注解将token中的值取出来注入到controller方法中,有点类似@PathVariable
- AOP加redis写了个限流
- 重写了下SpringCache,让redis支持模糊匹配
- 一个NettyRpc:
- https://github.com/Gloduck/NettyRpc
- 基本上也是自己搞的,比如和SpringBoot集成那一块和其他框架都不一样。
- 一个在线学习的,比较简单,主要是CRUD啥的,然后优化了两个点。
- 然后CVTE实习过两个多月。
- 提前批投了两家公司一家百度、一家京东。京东hr面后等了20天offer审批挂了、百度四面后测评完后等了一个半月也挂了。
- 正式批投了一堆公司,大部分都是简历挂,邮箱感谢信都一堆堆了。只有少数几家过了简历。
收获的教训
- 对于大厂的offer,如果有幸到了hr面(特别是提前批,提前批一般要很久才开奖),也不要太抱希望,就当挂了然后继续去面其他的,如果oc的话就当作惊喜(这样心态也会好很多,否则你太抱希望等个一两个月给你发感谢信真的很难受)。
- 不要觉得hr面过了面试就是过了,还有offer审批这一关。
- ***司的时候城市选择的时候选hc多的城市(具体可以去参考Boss或者拉钩之类网站发布的招聘信息,有些公司会指明某个职位招聘多少人)
- 提前批多投,大部分提前批都集中在春招转正以及提前批,我提前批由于在实习所以只投了两家。
- 不要担心实习的时候和面试冲突,边实习就多投。一方面因为面试流程一般走的很慢,二是很多公司都能约到晚上6点以后的面试。
- 如果投提前批的时候刚去实习(或实习没多久)也在提前批的简历上把实习经历写上(我百度和京东就没写,想想也是被筛的原因)
- 项目最好不要直接去看视频跟着做一个完整的项目,学不到太多的东西(很多东西都是老师给你的现成的,对实际解决问题没有任何帮助,哪怕是你自己写的CRUD,大部分情况下也比你跟着视频写的高并发的项目要好得多)。最好的方法是跟几个朋友一起做一个完整的项目,其次是github上找一个现有的项目然后在其基础上多加模块。
- 写项目的时候注意自己想些优化点啥的。反正我两个项目都是完全自己写的,也结合框架做了很多扩展点,所以问项目我基本上能扯半场面试,可以让你少答很多八股文
- 写项目的时候可以考虑着使用一些设计模式(这里推荐一本书《设计模式之禅》,讲的很风趣,不死板),设计模式这东西掌握常见的就行了,如果你自己有去设计过一些东西的话,然后多写代码,你很容易就能根据一个场景想出使用什么设计模式。
- 八股文最好自己总结,效率才是最高的。同时多看,多看的同时联系其他的多想,这样每次都能学到新的东西(网上很多文章也是错的,有些东西深入的同时要去看源码以及文档。比如网上很多Spring三级缓存作用的博客都是错的)。这里推荐一个开源项目(docsify)可以搞个这个然后把笔记上传到github上,方便看。同时对于想写博客的同学也推荐一个Gridea。
- 多刷算法,这个对于要进大厂的同学挺重要的。我八股和场景都不怕,就怕这东西。
- 其他的以后想到再说。。。。。
投递的公司
公司 | 投递时间 | 笔试 | 一面 | 二面 | 三面 | hr面 | 备注 |
---|---|---|---|---|---|---|---|
携程 | 9.18 | 简历挂 | |||||
同花顺 | √ | √ | √ | 可公众号查询进度 | |||
百度 | √ | 提前批offer审批挂 | |||||
京东 | √ | 提前批offer审批挂,简历挂 | |||||
奇安信 | 8.05 | √ | 笔试挂 | ||||
美团 | √ | 笔试挂 | |||||
360 | 8.05 | √ | 笔试挂 | ||||
腾讯 | √ | ||||||
苏宁 | |||||||
陌陌 | 8.21 | 简历挂 | |||||
酷家乐 | 8.24 | 简历挂 | |||||
得物 | 简历挂 | ||||||
货拉拉 | 8.28 | 简历挂 | |||||
趋势科技 | √ | 笔试挂 | |||||
有赞 | 简历挂 | ||||||
58 | √ | √ | √ | ||||
爱奇艺 | 简历挂 | ||||||
用友 | √ | √ | 约hr面 | ||||
满帮 | 简历挂 | ||||||
神策 | 9.1 | √ | 约面试,10月12日 | ||||
阿里 | √ | √ | √ | √ | 简历挂,被捞,三面kpi挂 | ||
金证科技 | 简历挂 | ||||||
极米 | √ | × | 一面挂 | ||||
搜狐 | 9.4 | 简历挂 | |||||
ThoughtWorks | 9.4 | √ | √ | √ | |||
映客 | 9.4 | ||||||
富途 | 9.4 | 笔试挂 | |||||
字节跳动 | 9.5 | √ | 笔试挂 | ||||
北森 | √ | √ | √ | 技术过,等hr面试 | |||
转转 | 9.5 | 笔试挂 | |||||
新浪 | 9.5 | ||||||
龙湖集团 | 9.5 | 简历挂 | |||||
明生科技 | 9.5 | 牛客投递 | |||||
度小满 | 9.5 | ||||||
竞技世界 | 9.6 | ||||||
金山WPS | 9.6 | ||||||
金山云 | 9.6 | √ | |||||
去哪儿 | 9.6 | 笔试挂 | |||||
顺丰 | 9.6 | ||||||
知乎 | 9.6 | 邮件投递 | |||||
斗鱼 | 9.6 | 简历挂 | |||||
莉莉丝 | 9.6 | 笔试挂 | |||||
网易 | 9.6 | 简历挂 | |||||
YY直播 | 9.8 | √ | |||||
海康威视 | 9.12 | 简历挂 | |||||
神州信息 | 9.11 | √ | √ | √ | 优先hr面试,Offer拒了 | ||
迈普 | √ | √ | 没去 | ||||
大华 | 9.14 | 简历挂 | |||||
bigo | 9.14 | 简历挂 | |||||
恒生 | 9.14 | 简历挂 | |||||
咪咕 | 9.15 | 官网投递 | |||||
tap4fun | 9.15 | ||||||
广联达 | 9.19 | ||||||
Keep | 9.19 | 简历挂 | |||||
小米 | 9.22 | ||||||
招联金融 | 9.22 | ||||||
亚信安全 | 9.22 | ||||||
小鱼易连 | √ | √ | √ | √ | hr面完还有一轮cto面试 | ||
IBM | √ | ||||||
涂鸦智能 | √ | ||||||
蘑菇街 | |||||||
万达信息 | √ | ||||||
爱数 | √ | √ | √ | √ | |||
杭州大应 | √ | √ | 感觉工资开不高,不想面了 | ||||
中科创达 | √ | √ | 感觉工资开不高,不想面了 |
面经
- 小公司的没怎么记录。主要就记录了以下几家吧。
百度提前批
一面
- 怼项目,一个rpc,一个简单的在线学习。大概40min。
- netty核心组件
- zookeeper zab协议
- rpc怎么和spring集成的
- 服务下线怎么实现的
- volatile synchronized什么时候用
- hashmap hashtable
- 手写三个排序,随便写
- 什么时候能实习
- 有其他公司offer吗?具体是哪家。
二面
- 介绍项目,一个垃圾的在线学习项目。
- 异常有那些,怎么处理异常(try catch,反问还有什么处理方法,答了一嘴controllerAdvice,exceptionHandler,和aop)
- 用过啥日志框架,日志原理(没答上),日志的级别。
- Spring的启动过程。
- 注册中心是干嘛的。
- Kafka分区怎么设置,介绍消息队列,Kafka分区怎么分配的。(还提了一嘴SpringCloud)
- 你大学中遇到的最兴奋的事情,以及最伤心的事情。
三面
- shiro的组件,我只了解rbac的那些角色,组件鬼记得到(听他的意思是想让我说那几个类)。
- 分布式一致性算法,当时说成一致性质哈系算法了。然后就让我说zab
- zookeeper那些能参与投票,leader能投票吗?
- netty零拷贝实现,我说的transferTo 组合bytebuf 可以使用堆外内存,他说不是??
- sendfile,我说通过dma拷贝到内核,然后cpu拷贝到socket,然后dma拷贝到网卡。linux以后版本可以不用cpu拷。他就硬刚我说这不是还是多次拷贝吗?我。。。
- 然后还有个sendfile拷贝了什么东西?这个属实不知道
- volatile,问我如何感知到变量变化的,我说嗅探其他CPU发过来的消息。他说不是??然后我说MESI、内存屏障、存储缓存、无效队列那些,他也说不是,然后他说了个CPU缓存来着,有个啥指令能完成功能(黑人问号?lock前缀指令 x86实现,那些都说了)
- redis高可用,没配置过。
- http如何跨域?我说的设置跨域的头部。然后反问我不设置怎么弄?我给他说了可以隐藏来源来做,最后觉得我搞得复杂了,说可以直接自定义一个跨域的那个头部?我寻思着不是你让我不设置这个的吗?
- tcp如何长链接,脑残说成so_keepalive了,忘了不关闭链接就行了。。。
- 还有个curl如何做长连接。
- http如何操作浏览器缓存。
- 用过消息队列吗?我说只了解基本的原理那些,以及写过demo,然后就没问了。
- 怎么自己扩展validator(参数校验那个)
- jwt组成 header payload 签名加密算法那些。
- rsa如何运用到jwt中
- synchronized和volatile的区别
- 什么是上下文切换URL解析过程,DNS解析让我说了一点跳过了。
- http有那些方法,get那些
- 进程和线程的区别。
- 和别人协作出现冲突怎么办
- 如何学一个新语言
- 怎么自学的
四面
- 介绍了波部门:大概是做交付的,就那种基于自己有的平台然后给用户定制一些功能啥的
- 自我介绍的时候说了写过爬虫,问了一些爬虫的东西
- 最想放弃又没放弃的事
- 最想放弃最后放弃的事
- 最不愿意做又强迫做的事
- 最衰的事
- 未来的职业发展
- 大四怎么安排
- 大学那门课学的最难,怎么学的
- 平常怎么学Java的
- 由于前面说过自己搞过论坛啥的,然后做论坛时候遇到的问题问了个遍。(类型,用户,灌水消息怎么处理的,还有有没有被入侵过,怎么解决的啥的)
- 然后最后说现在是第二批,估计得等到八月底去了,如果官网流程没变就证明在审批中,变了就是挂了。还有这轮是最后一轮了,后面没有其他的面试了。
京东提前批
- 本来想投成都的,结果当时投的时候没有,就投了个北京,然后挂了,最后被上海捞了。
- 走到了hr面,前面问题没有记录,大概记录几个还记得到的问题吧。
- 部门好像是做京东首页,然后一些活动那一块的。
问题
- Mysql有些什么优化(我说了索引合并、索引条件下推、Hash Join那些),然后怎么优化。
- 设计一个京东的签到系统,要求显示每个月的签到情况,然后还有连续签到的日期(我说的是用一个int来存放一个月的签到信息(类似bitmap那种),然后再额外加一个字段用于统计连续签到天数)
- 如果领导给你个项目,只有你和你同事两个人去做,这些功能必须要做完,然后给你的时间肯定做不玩,你怎么处理。
北森
一面
- 线程互斥四种方式
- 描述什么是设计模式,用过什么设计模式
- redis数据结构
- 缓存穿透那些
- 跳表
- Spring事务传播
- 聚集索引和非聚集索引,什么时候加索引。
- inner join和left join区别
- 线程安全的Map。
- HashMap时间复杂度
- HashTable和ConcurrentHashMap区别。
- 三句话描述你最近看过的文档
二面
- 网络七层架构
- 负载均衡是那一层做的
- 聚集索引非聚集索引
- 知道那些数据结构
- 知道那些算法
- 设计一个贪吃蛇
- 未来三年的作业规划
- 有没有做过比同学校的人有成就的事情
极米
一面
- 聚集非聚集索引
- 倒排索引
- HashMap存放为null的8个object
- HashMap怎么比较对象
- 链表和数组
- NettyIO模型
- 5种IO模型
阿里巴巴
一面
- 全程在讲RPC的项目,基本没有八股文。37min
二面
- 实习做了什么,选个能说的来说。
- 为什么导入功能会想到使用策略模式。
- 用过那些设计模式,具体是怎么用的。
- 自旋锁是什么。
- 遇到过的异常。
- ClassNotFoundException怎么排查。
- 类加载机制。
- 双亲委派模型,为什么要使用双亲加载机制。
- 如何打破双亲委派模型。
- 工作中有没有打破双亲委派模型(没有)。
- Java可见性的概念。
- 怎么保存线程安全。
- volatile实现原理。
- ReentrentLock和Synchronized(没深问)。
- 自旋锁是什么。
- 索引你一般是怎么建的。
- 联合索引判断是否会走索引。
三面
- 感觉是KPI面,面试官也明确表明是秋招尾期了,所以没记录。大概是26号面的
用友
一面
- SpringBoot介绍一下
- Java垃圾回收(垃圾收集算法 G1详细基本上都提了)
- 用Redis主要做了什么
- MySql数据模型怎么设计的
- 公司项目的介绍(包括并发量,设计等)
- MySql中的索引,以及怎么选择索引
- Java基本类型
- String和StringBuffer
- Java内存划分
- int和Integer在Java的什么区
小鱼易连
一面
- 实习干了什么
- 基础类型
- 对应的包装类
- 包装类和基础类的位置
- Java内存结构
- Java类加载机制 + 双亲委派模型
- 知道那些集合
- ArrayList和LinkedList区别
- LinkedList用的是单链表还是多链表
- ArrayList怎么扩容
- 那些是线程安全的
- HashMap数据结构,插入流程,怎么判断是否存在,怎么计算位置
- ConcurrentHashMap怎么保证线程安全
- 知道那些锁
- 什么是可重入
- 什么是内存的可见性
- 线程的状态
- Java运行怎么转就绪(yield)
- 创建线程的方式
- 用过那些线程池
- 线程池的参数
- 线程池的拒绝策略
- 线程池最大线程数
- SpringAop和IOC,IOC怎么实现的
- 动态代理两种方式
- 数据库平时怎么加索引
- 数据库索引用的什么数据结构
- B+树特点,为什么要B+树
二面
- 详细讲了下公司的项目
- HashMap八股、ConcurrentHashMap八股
- 死锁的条件,多个线程循环输出(本来以为要写代码,结果没写)
- 代码写个死锁
- 代码写个二分
- 代码写个DLC单例
- 代码写个SQL