【回馈牛客】秋招总结及各式各样的Java挂经
末流985本,Java,已经决定彻底结束秋招了。之前看见有学长学姐发过面经,感觉说得真的很对,Offer = 实力 + 心态 + 运气。
我六月份实习离职,从那个时候开始复习准备,实习那半年一直在写业务代码,啥基础都忘了,离职后一点一点慢慢捡起来。六月份面了两家公司,都是非互联网,侥幸拿到了offer,真的感谢这两家公司给了我点希望,不然我不知道后续的心态会崩成什么样。
七月份面了一家,OPPO提前批二面挂,紧接着字节跳动笔试又给我当头一棒,只ac了0.2道,突然发现自己菜得一匹,也感谢这两家吧没有让我膨胀起来,但真的有点难受。从七月底开始直到九月初就开始大规模笔试面试了,可是自己一家都没过,心态越来越崩,再加上那一段时间一直在笔试面试,自己在那一个多月的时间都没怎么复习了。
到九月上旬,彻彻底底的佛系了。收到美团点评意向后佛系面了招银和华为,然后自己就决定结束秋招了。
5.18开始投递第一封简历,到9.20决定结束秋招。
自己这次秋招中真的有很多做得不好,我觉得有三点
- 心态没调整好
- 没有及时总结查漏补缺
- 不会面试
可是现在也没法后悔没法改正了,感觉蛮遗憾的。
还有,感觉海投有点累,有点不建议。
不管怎样,牛友们加油!!
我给出一份书单吧,自己也是参考往届牛客上的学长学姐推荐的整理的,但是有些我还没看过
Java
- Java基础 — 《Core Java Ⅰ、Ⅱ》
- Java虚拟机 — 《深入理解Java虚拟机》
- 多线程 — 《Java多线程编程实战指南(核心篇)》《Java并发编程实战》
- 多线程相关源码
- 集合相关源码
Web&框架&中间件
- Java Web — 《Servlet、JSP和Spring MVC初学指南》
- Spring — 《Spring源码深度解析》
- 系统架构和中间件
- 《大型网站技术架构 核心原理与案例分析》
- 《大型网站系统与Java中间件实践》
- Dubbo — Dubbo官方文档
- Kafka — 《Kafka权威指南》
- Zookeeper — 《从Paxos到Zookeeper 分布式一致性原理与实践》
数据库
- MySQL — 《MySQL技术内幕 InnoDB存储引擎》
- SQL — 《MySQL必知必会》、数据库SQL实战
- Redis — 《Redis开发与运维》
网络&操作系统&体系结构
- 网络基础 — 《计算机网络 自顶向下方法》
- HTTP — 《图解HTTP》、HTTP
- 《计算机操作系统》(教材)
数据结构&算法&设计模式
- 基础数据结构和算法 -- 《算法》
- 设计模式 -- 《Head First设计模式》
- 《剑指Offer》
- 剑指Offer刷题66 — 剑指Offer
- LeetCode刷题148 — leetcode在线编程
生产工具
- Linux & Shell -- Linux教程
- Git -- Git远程操作详解、git - 简明指南
- Maven -- Maven教程
- Intellij IDEA -- IntelliJ-IDEA-Tutorial
以下是部分面经
秋招总共投递简历73份,收到20家公司共36场面试。
4个测评没做、15个笔试未做、3场面试未面、浦发银行未参加体检。
最终收到vivo、TP-LINK、美团点评的意向书/Offer;
招银网络、华为还在池子中。
从字节跳动后的面经就没开始记录了,所以有些公司没写面经。
vivo提前批(Offer Get)
一面
- 今天天气挺好啊,温度不冷也不热
- 先自我介绍一下
- 怎么找的实习
- 我们先来点比较基础的吧,说说你会哪些数据结构
- hash,你知道hashmap吗,说说hashmap的数据结构,rehash的时候是怎么做的
- 其他hash算法,md5知道吗(不知道)
- 说说红黑树
- 红黑树删除和新增操作(具体怎么平衡的忘了不知道)
- 知道TreeMap吗,也是用红黑树实现的(不知道)
- 说说b+树
- bitmap知道吗(不知道)
- 跳表(不知道)
- 还会其他数据结构吗,说说ArrayList,扩容怎么做的,复制数组调用的什么方法,(回答Arrays.copyOf),为什么调用这个方法而不自己写,(回答这是个本地方法,本地方法执行较快),为什么本地方法比较快
- 知道并发吗
- 知道哪些线程安全类(没答上来,只答了一个)
- (其他的还说了线程池相关的类以及扯了线程池执行流程
- 你了解Java虚拟机吗
- 说说内存区域
- 你知道垃圾收集器吗
- 说说CMS
- 说说G1
- 还有知道其他的吗,我说Serial,摇头,脑抽说了Z1(实际应该是ZGC,其实只瞄了一眼,我啥都说不出)
- CMS和G1该怎么选择
- 说说实习,你这上面写的比较笼统,具体是做什么
- 系统访问量有多大
- 有遇到什么bug吗,怎么解决的
- 现在还在美团实习吗
HR面
- 先做个自我介绍
- 为什么不想读研
- 专业排名,四六级
- 说说你在美团的实习经历
- 你觉得你在公司学到了什么
- 你觉得Java后端需要具备哪些技能
- 为什么投vivo
- 意向工作城市
- 有拿到美团Offer吗,现在还有哪些机会
- 有什么想问的
TP-LINK(Offer Get)
一面
- 自我介绍一下吧
- 说说你的实习
- 实习过程中有遇到什么难点
- 两台机器为什么ping不通
- 说说ssm框架
- Java异常机制是什么
- 说说wait/notify
- 排序算法的稳定性是什么,常用排序算法的稳定性
- 为什么不读研
- 有没有其他offer
- 为什么拒vivo,期望薪资多少
- 觉得自己编码能力怎么样
二面
- 先来个自我介绍
- UDP怎么实现可靠传输
- 赛马问题。有25匹马,每次只能五五一组比赛,且比赛只有排名,需要经过几轮比赛选出前三名
- 用Java异常判断一个正整数n是不是3的幂
- 给20个球,一个天平,其中有一个球比其他的球要轻一点,另外的球重量相等,需要称多少次才能找出这个轻球
HR
- 自我介绍
- 对TP-LINK有哪些了解
- 实习中最大的收获
- 实习中遇到的困难,你是怎么解决的
- 实习中你承担的是什么角色
- 你为团队做的贡献是什么
- 在实习中你学到了什么
- 实习中有什么遗憾的事
- 拿三个词描述你的性格
- 你觉得你的优缺点是什么
- 有没有什么是你一直坚持的事
- 有没有想过从事那方面的职业
- 平时自己是怎么学习的,看书频率是怎么样的
- 说一件事来证明你的学习能力
- 选择工作会看重哪些的点
- 期望工作城市
- 期望薪资
- 还有什么想问我的
终面
- 说说在教研室的项目
(a:我是本科生 - 为什么不读研
- 根据面试记录,你拒了vivo offer,说薪资太低了
- 父母做什么的
- 你拿到了美团的转正offer吗
- 问了两个实习做的东西
- 之前面试有个题,使用Java异常判断一个数是不是3的幂,回去后有看吗
- 给一个字符串,寻找一个最小子字符串,使得子字符串有序后整个字符串就有序了
- 成绩单有带吗
OPPO提前批(二面挂)
一面
- 自我介绍
- 为什么不读研
- Java数据类型有哪些,分别有多少个字节
- Java面向对象特性
- 多态是什么
- 重载和重写的区别
- 线程状态有哪些
- sleep和wait的区别
- 创建线程的方式
- 线程池怎么创建
- 给一个list,怎么排序
- 说说对jvm的理解
- hashmap的实现原理
- 动态***有哪些实现
- 使用spring mvc实现一个服务,在浏览器输入这个网址,发生了什么
- spring mvc的处理流程
- 用过Redis吗
- 说说xx(实习的一个小需求)
- 用了哪些框架
- 给一个表,找出不同的的数据的量
- 同样那个表,删除重复数据
- 有什么想问我的
二面
- 自我介绍
- 讲一下实习经历
- xx,HTTP协议里面是怎么表示xx的
- 在做xx的过程中,需要注意哪些问题
- 给一个大的数据集,比如千万级,怎么做快速搜索
- Spring中有什么优化速度的配置
- MyBatis中有什么可以优化速度的配置
- 随便用什么使用SQL,怎么提升速度
- SQL查询慢,怎么优化
- 索引怎么建
- 用过什么设计模式
- 有什么想问的
大疆创新(一面挂)
一面
- 自我介绍
- 实习的时候最能证明自己的一件事
- 前后端怎么联调的
- git fetch和git pull的区别
- git fetch获取到的数据是放在哪里的
- Linux中的常用命令有哪些
- top怎么查看CPU中使用率最高的进程
- MySQL的默认端口
- MySQL的存储引擎有哪些
- 空间利用率MySIAM和InnoDB谁更高
- MySQL中怎么判断一个浮点数是double和float
- char和varchar的区别
- Redis的数据结构
- 为什么要用Spring
- 看过Spring源码吗
- 怎么判断对象相等
- hashCode()相等,equals()相等吗
- 面向对象的重载说说看呢
- sychronized的使用方式
- JVM的组成
- OOM会发生在哪些地方
- NIO知道吗
- 负载均衡算法
- HTTP的报文结构
- Header头里有哪些字段
- content-type有哪些类型
- HTTPS的建立连接过程
- 你有什么问题吗
- 后面面试官问我能不能接受go语言,有其他offer或者面试在流程中吗,能不能实习,意向工作城市
第四范式(一面挂)
一面
- Java的内存区域有哪些
- Java的同步机制有哪些
- sychronized锁优化
- 手写一个快排
- 1亿个数字,找top 100
- 100层楼,只有两个鸡蛋,找出鸡蛋会在哪一层楼被摔碎
虎牙(一面挂)
一面
- 一个Java类从编译到执行所经历的过程
- Java类加载的过程
- Java的内存区域
- Java的同步方式
- MySIAM和InnoDB的区别
- 事务有哪几种特性
- 隔离性你是怎么理解的
- MySQL默认的隔离级别
- SQL优化知道吗
- 那分库分表、主从复制呢
- Redis知道吗
- 一个TCP上最多允许有多少个HTTP
- 推送到日志中心是怎么做的
- 微服务框架知道哪些
- 怎么设计一个有权重的负载均衡算法
- 你还有什么问题要问的
蚂蚁金服(一面挂)
一面
- 自我介绍
- 实习相关
- RPC是怎么样提供服务的
- 序列化方式
- 说一说Map和Set
- 说说HashMap
- Java的内存模型
- RPC调用在网络中的过程
- 有什么想问我的
拼多多(一面挂)
一面
- 什么情况下会GC
- 说说young gc
- 循环引用会不会被回收掉
- 聊之前笔试做过的两个算法题
- 写一个sql
网易(挂)
一面
- 自我介绍
- 说说你的实习
- Spring AOP的实现原理
- Redis里面的数据类型有哪些,底层的xxx是怎样实现的
- Redis Cluster里面的槽有多少个
- 知道一致性Hash吗
- 如果节点个数比较少的情况下,怎么优化
- 平时哪些集合类使用得多,说说HashMap的扩容过程
- HashMap使用的时候经常CPU使用率很高,知道原因吗
- 说说MyBatis里面的设计模式
- 说说你用过的设计模式
- 单例模式有哪些使用方式
- 线程池在什么情况下使用
- 单线程可以使用线程池吗
- 说说SQL里面的索引
- 为什么使用B+树而不是B树
- 建索引需要注意哪些问题
- 数据库的事务是怎么实现的
- Spring事务的实现原理
- 你有什么想问我的
二面
- 自我介绍
- 说说你的实习做了什么
- xx怎么做的
- 知道xx怎么做的吗
- 是怎么解决线上问题的
- 灰度怎么做的
- 自己实现一个ABtest应该怎么做
- 实现一个LRU
HR
- 为什么投网易
- 说说你印象最深的一件事
- 说说你最有成就感的一件事
- 实习过程中遇到的最大的困难是什么
- 平时学习是怎么学的
- 网易和美团Offer该怎么选
猿辅导(二面挂)
一面(1h)
- 先自我介绍一下
- 说一下你的实习经历
- xx、xx怎么做的
- 先说说线程池吧
- 不同场景下该怎么配置线程池
- Java中的同步怎么做的
- 什么情况下用volatile
- 来一个数据库查找操作,搜索出大于100人的年级有哪些
- 数据库join操作有哪些(回答了inner join、left join、right join,面试官说还有,不知道了。。)
- MySQL的InnoDB的索引有哪些,怎么实现的
- 为什么用B+树而不用B树呢
- 撕两个编程题
- 二叉查找树寻找第k大的值
- 某个有规律的(类似于递增规律)二维数组找某个特定值
- 有啥想问我的
二面
- 自我介绍
- 进程有哪些状态
- 进程和线程的区别
- 进程调度算法
- 进程是怎么调度的
- 撕编程题
- 反转索引为n-m间的链表
字节跳动(二面挂)
一面
- HTTPS密钥交换过程
- 幂等性是什么
- 进程间通信有哪些
- 撕算法题
- 数据库索引用的数据结构
- B树和B+树的区别
二面
- 自我介绍
- 说一个难一点的项目
- xx是怎么提高效率的
- xx是的原理
- 说说你对IoC的理解,有什么好处
- 抽象工厂和IoC的区别
- Pigeon和其他RPC序列化方式有什么不同
- RPC协议更新,该怎么更新服务
- 什么情况下会发生OOM
- 怎么判断发生了OOM
- 发生了OOM该怎么做
- 撕算法题
- 大数量的URL,找出出现次数最多的Top 10