七八月份面试总结

面试总结

作为一个Java开发,经过七八月份面试了近二十家公司,其中有大厂有小厂,面试官的询问方式也互不相同。马上就是金九银十招聘季了,希望做一些总结对其他人也能有所帮助。

Java基础

Java基础题目:

  1. String a = new String(“123”) String b=“123” 创建对象过程,两个对象一样吗?
  2. ==和equal区别?
  3. StringBuffer和StringBuilder的区别,StringBuffer线程安全怎么实现的,加的什么锁?
  4. 说一下JVM内存模型,栈是私有的共有的,堆是私有的公有的,常量池在哪个里面?
  5. Runable和Callable的区别?
  6. synchronized原理?
  7. 了解过threadlocal吗,说下它的原理
  8. HashMap和ConcurrentHashMap有什么区别,HashMap线程不安全的场景举个例子
  9. hashMap原理,用的什么数据结构,什么时候转红黑树,为什么使用红黑树,树的时间复杂度
    10.concurrentHashMap加的什么锁,什么时候加,在数组上加还是链表加?

Spring相关

  1. Spring的生命周期,Spring中的事务,会出现什么问题
  2. @Controller和@RestController的区别
  3. 说下AOP原理,用过哪些设计模式,能详细说下策略模式吗,可以结合实际案例
  4. springboot有看过源码吗,启动流程说一下

MySQL

  1. MySQL索引数据结构问了下B+Trre,B+Tree和Btree相比会降低树的高度吗?
  2. 假定有个表,主键自增,有姓名a, 年龄b,现在有场景查询a,查询b,和a,b都查的请求量都很大,怎么设计索引?
  3. MySQL优化explain,问了关注哪几个字段,哪个字段代表实际用索引?
  4. SQL举例已有a,c索引,select * from 表 where a=’’ and c=’’ 和select a from 表 where a=’’ and c=’’ 哪个检索快,为什么?
  5. SQL举例已有a,b,c索引,select * from 表 where a=’’ and b>’’ and c=’'走索引了吗,怎么走的?
  6. InnoDB和MyISAM区别,InnoDB特点,InnoDB默认隔离级别,MySQL有哪些事务隔离级别,会出现什么问题,幻读和不可重复读的区别是什么?
  7. InnoDB默认隔离级别是可重复读,那它是怎么保证隔离的,我们使用MySQL没有出现过这些问题,MySQL是怎么做的?
  8. MySQL SQL优化时,explain 两个表,生成的两条记录顺序是咋样的,说下索引的类比,建表的时候要注意什么?
  9. 可以说一下MySQL的MVVC模式吗,具体说说?
  10. MySQL聚簇索引和非聚簇索引有什么区别,主键是聚簇索引吗?
  11. MySQL自增主键和ID生成器生成主键相比有什么缺点?
  12. 已有普通索引b,select count(*) 和 select count(b)哪个查询快,为什么?

Redis

  1. Redis的数据类型,zset的底层数据结构是什么?
  2. redis如何保证数据一致性?
  3. redis和本地缓存的区别,查询过程中是先走redis还是先走本地缓存(这个是因为项目中写了本地缓存,可忽略)
  4. 了解缓存雪崩和缓存穿透吗,说下你对它们的理解
  5. redis的删除策略有几种,它们有什么优缺点?

开放题

  1. 用Java代码实现一个生产者消费者模型有什么想法?
  2. 用Java源代码不借助任何方法实现一个队列,队列有什么特性?
  3. 实现一个秒杀场景需要注意什么?(锁相关知识)
  4. 场景描述:有多个微服务部署在多个不同的机器上,每个服务都有自己的日志,现在我们需要把每个服务的日志统一收集起来有什么想法?
  5. 看你简历上也写了一些常用的技术,挑一个你最擅长的(说了Docker),询问docker是怎么实现不同实例间的隔离的?

在线编程题

这块比较少,只有两道

  1. 给定学生表,成绩表,一个学生可以有多个成绩,打印出所有平均成绩在60分之下的name,平均成绩。(写SQL)
  2. 二叉树层序遍历,给定一个二叉树,输出二叉树层序遍历的结果。

小结

大体上询问的内容就是上述分类,还有一些微服务的,因为基本没怎么问,就不添加了。先写这么多,题目相关答案本人还没总结完,所以大家自行百度吧。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzk_bk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值