毕业一周后我的经历

173 阅读5分钟

记录Java一周的面试题

开篇

        2022注定是不平凡的一年,各大厂裁员不断,京东、美团、火币、每日优鲜、阿里等等,不论是大厂还是中小厂都在降本增效;没错,我自己也不幸中招了,去年入职以后,今年4月份开启了一波裁员,当时组内比例50%,当时很幸运的躲过了一波,随之leader就针对于剩下的人员开了一波会议,描述的意思就是“今年的预算不足,所以不得不降本增效,但是剩下的你们好好干,今年下半年的预算是充足了,不会在动手了,安心干活吧!”;从会议室出来内心开始平静了,看来可以今年是可以苟一波了。

        6月份,公司发布通知,由于疫情影响、风水等种种原因,现在要搬离现办公地址去往别的地方,随之发布了新的办公地址,然后一查,得,共享办公室,惊不惊喜意不意外,是不是和某公司的招式一模一样。

        8月份,听到风声,又要裁员了,别的组都开始聚餐、讨论人员,我们组风平浪静,为啥?因为leader也要走,月底的某一天,hr发消息,来一下会议室,几分钟后大家也知道了,毕业了,最后组里只剩下3个人,最终还是没有躲过这一劫。

        知道今年难,但是没想到这么难,毕业快两周了,接到的面试邀请不足10个。你可能会说是不是简历问题啥的,那肯定不是,同样的简历,去年一周可以约到将近20个面试,到现在的寥寥无几;接下来开始我的面试旅程,下面是最近位数不过的面试中,问道的面试题,整理一下,先分享一波,后续在持续输出:

项目介绍

巴拉巴拉。。。。。。略过,没啥可分享的,就是业务、技术栈、技术点、解决了什么问题等等。

jvm相关
  1. jvm布局,各部分作用
  2. 如何确认垃圾
  3. 垃圾回收算法
  4. 垃圾回收器
  5. Parallel Old 与 CMS的区别
  6. CMS与G1的区别于优缺点
  7. 内存溢出、内存飙升,怎么排查?
  8. 服务器的配置?
  9. 使用了哪种垃圾回收算法?
Java相关
  1. 什么是重排序
  2. volatile实现原理,特性
  3. synchronized的特性及原理
  4. ReentrantLock锁了什么
  5. ReentrantLock与synchronized区别
  6. HashMap与ConcurrentHashMap的区别,如何把HashMap改造成ConcurrentHashMap
  7. AQS是什么
  8. 线程的状态
  9. 线程池参数、运行原理、拒绝策略等
  10. 子线程如何获取父线程的信息(InheritableThreadLocal)
  11. List能存放多少数据?
  12. HashTable/HashMap/ConcurrentHashMap的key/value能为空吗?
Spring及SpringBoot
  1. Spring与SpringBoot的区别
  2. AOP原理
  3. 事务实现原理
  4. 事务失效场景,如何解决,事务的隔离级别
  5. SpringBean的生命周期
  6. 除了AOP还有什么办法可以做切面
  7. SpringBoot服务打包之后,如何在后台运行
  8. FactoryBean 与 BeanFactory的区别?
dubbo
  1. dubbo有哪些角色
  2. dubbo的实现原理
  3. 如何自己实现一个dubbo框架,需要那些模块
  4. dubbo的调用链路
  5. dubbo的通信协议以及序列化协议,默认是什么?
  6. 如何扩展dubbo?
  7. dubbo的SPI与Java的SPI有什么区别
Zookeeper
  1. zookeeper 的节点类型
  2. zookeeper 能做什么,实现原理
  3. watch机制
  4. zab协议
  5. master选举
MySQL
  1. 在Linux中库和表是怎么存放的?
  2. mysql中的索引
  3. 怎么进行sql优化的
  4. Mysql的一次IO是怎么样执行的
  5. B+树的结构是怎样的?数据怎么存放?
  6. 组合索引在B+树上的非叶子节点是怎么存放的?
  7. 分库分表怎么做的?
  8. 如何判断怎么拆分?如何判断是需要分库还是分表?
  9. 单库多表和多库单表的效率那个好?为什么?
  10. 分库分表后的主键怎么设置?达到上限怎么办?
  11. MVCC是什么?事务特性?怎么实现事务?
  12. redoLog、undoLog、binLog区别?
MyBatis
  1. SqlSessionFactory和SqlSession是什么?
  2. 如何现实MyBatis插件?
  3. Mybatis中有哪几个角色?
  4. JDBC中有哪几个类?
  5. 服务发起请求到数据落表的流程
Redis
  1. redis有哪些数据类型?
  2. redis有哪些数据结构?
  3. 淘汰策略,过期策略
  4. 集群模式
  5. 主从复制流程
  6. 分布式锁?实现原理?过期时间到了业务没执行完怎么处理?
  7. redis为什么快?
  8. 6.0为啥改成多线程?是否线程安全?
  9. redis中的IO多路复用是否可以应用到MySql的链接上?
  10. 使用redis有没有碰到什么问题?
  11. 分布式缓存的一致性hash怎么使用?
设计模式
  1. 工厂的三种模式
  2. 单例模式
  3. 策略模式
  4. 享元模式
  5. 代理模式等
消息中间件
  1. 设计到哪些角色?
  2. 消息幂等怎么处理?
  3. 消费出现异常如何处理?
场景题&算法
  1. 如何统计出一个文件中出现最大的元素?
  2. 千万用户如何设计一个排行榜?读出前100名?自己的排名?自己排名的前20和后20等
  3. 二维数组输出所有的组合
  4. 找出01开头的连续出现次数最多的下标
  5. 千万数据找元素等
  6. 千万用户抢10个商品如何设计

结尾

        以上问题就是最近几场面试遇到的问题,可能遗漏了几个,但基本上就是这些,回答个人感觉回答的还行,除了极个别的点忘了,其他基本都能回答个八九不离十,但最终结果不太如意,希望后面不断补进吧。

        最后就是,北京的小伙伴,公司缺人有HC可能内推一下小编,先在此感谢!在这里插入图片描述