今年由于疫情的原因对于咱们的Java程序员的求职之路还是有较大的影响的,疫情期间被裁的小伙伴也不少,楼主是在年前就准备换工作了,没想到年后就直接疫情,既然都只能缩在家里就好好的刷刷题准备面试吧,今年6月份的时候,接连面试了阿里,京东,百度,快手等公司,也拿到了几个offer,目前是准备7月份的时候入职阿里!
本来是计划写一篇面经的,但是感觉对读者的帮助是很有限的,所以才出了这一篇面经合集,总结了几家公司常问的面试点
这次面试的企业比较多,小编这边梳理了一下知识点之后文末还有一些复习知识点分享,有需要的可以私信我【面试】给你分享哦~
PS1 多线程并发编程:
- 线程池的构造参数及其含义,如何确定线程池中线程的个数等
- 定时线程池如何实现的?
- synchronized,volatile关键字
- 原子性,可见性与有序性
- 可重入的锁ReentrantLock
- ThreadLocal的实现原理
- AQS底层实现,与ReentrantLock的关系
PS2 JVM知识点:
- 内存区域划分
- OOM介绍
- 对象分配与回收
- CMS和G1垃圾收集器
- 对象可达性分析
- 类加载机制
- JVM调优参数
- Full GC,Minor GC
- 对象的栈上分配(JIT编译器)
PS3 MySQL知识点:
- MySQL隔离级别
- 一致性视图
- 日志模块:undo log,redo log和binglog
- 索引结构,回表,最左前缀原则
- 间隙锁,幻读,MVCC
- SQL优化实战
PS4 Java基础:
- NIO的实现原理
- HashMap,HashSet,LinkedHashMap以及ConcurrentHashMap
- hashcode与equals方法的区别
- RuntimeException Exception Error
- 注解的使用
- 基本数据类型
- 五种常见的网络IO模型
PS5 Spring&MyBatis:
- Spring IOC和AOP的原理
- SpringBoot源码解读,启动方式,配置顺序等
- SpringMVC和Spring父子容器的关系
- Spring的事务实现方式
- 如何自定义实现SpringBoot中的starter
- MyBatis中#和$符号的区别
PS6 网络协议:
- TCP与UDP区别
- TCP可靠性如何保证
- TCP网络包分片与重组
- 三次握手与四次挥手,状态转换
- SSL握手协议使用的加密算法,非对称加密的缺点
- XSS和CSRF介绍
PS7 Redis&Kafka:
- redis实现分布式锁
- redis数据结构类型
- redis zset实现延时队列
- 跳表如何维护
- redis线程模型
- redis的数据过期方式
- redis持久化方式
- 缓存雪崩,缓存穿透,缓存击穿
- Kafka主题,分区和日志文件的关系
- Kafka日志压缩和删除
- 消息队列基本特性
PS8 算法与数据结构
- 找出多数元素(美团)
- 最长公共字串( 美团)
- 单例模式( 美团)
- 快速排序(阿里)
- 查找链表中倒数第N个节点(头条)
- 合并k个有序的链表(快手)
- 蓄水池(快手)
- 自定义实现parseDouble方法( 快手)
- a+b+c=0 (头条)
- 二叉树前序遍历(快手)
- 二叉树按照前序遍历转换为只有右节点的树( 猿辅导)
- 按照之字形遍历二=叉树(头条)
- 保留有序链表中的重复元素,并且只保留一次 (阿里,这个很有意思,感兴趣的同学可以实现下) 给定一个有序链表,保留链表中重复出现的元素,并且只保留一次,如给定链表1->1->1->2->3->3->4. 结果为1->3。请写出一个高效的算法
- 使用三个线程分别打印A,B,C,按ABC CBA ABC CBA ...的顺序进行打印 (阿里)
PS9 项目介绍
- 项目业务架构,针对项目中各个知识点进行扩展与提问
- 项目技术架构,技术架构中比如说Thrift的实现原理, nginx相关知识点等
- 项目中学到了哪些技术?或者之前学到的技术哪些在项目中可以体现?
- 服务的QPS如何?如何保证服务高可用性?
- 如何限流,熔断和降级服务?
- 服务的部署方式,各个集群数据库的同步方式
- MySQL单表数据量多大?索引结构如何?
- 上线新服务如何进行压测?
- 内存泄露的排查方式?
- 线上接口响应超时的排查思路
PS10 社招面试:第三轮/第四轮
- 为什么出来看机会?
- 原公司团队的一些基本情况
- 项目的简单介绍
- 开放性的系统设计题目:
- 未来的职业规划
- 有什么兴趣爱好
- 你还有什么想要了解的呢?
PS11 HR面试:
恭喜你,如果你已经进入HRBP轮次得面试,那么你离正式通过面试就差一小步啦!HRBP面试主要考察候选人得价值观和上进心吧。主要涉及问题如下:
- 在原公司得哪一段时间是比较享受的?(注意,这里要说自己的成长!)
- 为什么现在出来看机会呢?看什么类型的机会?(提升自己,挑战自己等)
- 同事或者朋友之间如何评价你?(说自己的优点,乐于助人等,热心)
- 平时如何学习呢?有没有什么技巧?(看书,官网,做项目)
- 你对我们的业务方向有了解吗?(通过前面面试反问环节,有所了解,大概说下)
- 你的职业规划是什么? (深度和广度,钻研某个放心,沉淀自己,寻找感兴趣的技术点等)
- 你的一些优点有哪些?(哈哈.jpg)
- 目前还在看哪些机会呢?手里还有别的Offer吗?(实话实说,多了去了^_^)
那么社招面试都有哪些技巧呢?我认为技巧始终应该建立在实力的基础上。那么如何拥有实力呢?分模块进行梳理总结知识点,在日常的学习工作中,对各个知识点进行不断的丰富与补充。
什么?你没有时间进行总结?没关系,待会我会有干货资源分享,大家只需要在此基础上进行差缺补漏即可。
这里再说个点,在反问环节中,如果面试官很有耐心的给你介绍部门情况和业务逻辑方向,恭喜你,这轮面试大概率是通过啦,好好准备下一轮次面试吧。反之,一句话介绍业务情况,那么你大概率是凉凉了,好好复盘面试,准备其他公司面试吧。
面试梳理+复习方法:
在面试之前咱们如何去快速的复习呢? 最快捷的方式大概就是刷题了吧,小编在去面试之前也是狠狠的刷了一段时间面试题,对我的帮助还是蛮大的,如果小伙伴有的时间来不及了,或者没有整理这些资料的,小编这边也准备一系列经典的面试题给大家复习
01,Java核心知识点:
其中还有最近很火的微服务架构解析等等:
02,互联网面试指南(Java)
微服务的特点:
算法怎么准备?
这边小编给大家准备了一本算法神器,左程云大神的数据结构与算法经典题目解析:
本书中的题目全面且经典,更重要的是,书中收录了大量独家题目和最优解分析,这些内容源自笔者多年来“死磕自己”的深入思考。
注意
Java核心知识点和互联网面试真题与左程云大神的算法PDF都是可以免费送给本号粉丝的,如果对你有帮助的话,可以帮忙转发这篇文章,让更多的人看到,关注我的头条号之后私信关键字【面试】我发你领取方式!
结:
这次的社招面试,笔者也算身经百战,真正拥有了社招面试经历,并且取得了不错的战果,以此可以给大家进行更好的分享,这篇文章大概就说完了,不知道大家有没有一点收获呢?好了,话不多说,让我们一起学习起来吧。希望与大家建立亦师亦友的关系,共同学习,交流与进步。