深圳-2020-java面试题记录

77 阅读3分钟

记录一下最近面试接触的面试题。

深圳掌众传媒:

  1. union 和union all区别
    union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; union All:对两个结果集进行并集操作,包括重复行,不进行排序。
  2. JDK1.8默认的垃圾回收器 默认使用的是UseParallelGC,ParallelGC 默认的是 Parallel Scavenge(新生代)+ Parallel Old(老年代)
  3. varchar类型的时间字段,进行按月统计 使用DATE_FORMAT函数,DATE_FORMAT支持date类型和字符串类型的时间格式转换,示例: SELECT DATE_FORMAT(t.time,'%Y年%m月') month,count(*) FROM test t GROUP BY month
  4. truncate和delete的区别 truncate和delete的区别
  5. JDBC如何开启事务 Connection对象: setAutoCommit(boolean):设置是否为自动提交事务,如果true(默认值就是true)表示自动提交,也就是每条执行的SQL语句就是一个单独的事务,如果设置false,那么就相当于开启了事务;con.setAutoCommit(false)表示开启事务 commit():提交结束事务; rollback():回滚结束事务。

深圳新乐数码:

  1. mysql大数据表怎么加索引:找大佬咨询后的解决方案为:通过新增表将数据迁移过去,再更改表名。
  2. mysql常用函数
  3. 什么是mysql回表 MySQL中的回表查询与索引覆盖
  4. mysql隔离性
  5. redis主从复制怎么实现
  6. nio是什么
  7. netty bytebuf作用,零拷贝
  8. mogodb用来做什么,原理是什么
  9. 堆溢出和栈溢出
  10. zuul自身负载均衡原理
  11. 客户端负载均衡和服务端负载均衡区别
  12. dubbo和springcloud区别
  13. rocketmq原理
  14. rocketmq怎么保证消息不丢失,消费顺序
  15. jvm实际使用
  16. 线程池重要参数,饱和策略
  17. redis的哈希和hashmap有什么区别
  18. 类初始化的方式
  19. 类加载机制
  20. jvm内存模型
  21. mysql事务
  22. mysql乐观锁和悲观锁
  23. 讲一下项目的难点以及解决方式
  24. spring循环依赖解决

行云全球汇

  1. 项目有没有使用分布式配置中心
  2. 主要负责的项目以及功能
  3. 微服务项目有没有分层,领域层、服务层,应用层?
  4. 4.1 假设商品服务、用户服务,它们之间怎么调用? 4.2 一个业务既要更新商品服务、又要更新用户服务怎么处理(分布式事务)? 4.3 更新过程中用户服务挂了怎么处理? 4.4 有一个商品列表需要查询用户系统用户的名字,怎么处理? 4.5 如果有关键词搜索涉及到两个服务,该怎么处理?

mysql:

  1. 1.1 left join ... on ... where ,条件加载on后面和where后面结果集有什么区别? 1.2 inner join .. on ... where,条件加载on后面和where后面结果集有什么区别?
  2. 2.1 有一张表两个字段:id、age,数据:1 1, 2 21,3 null,4 1, count(id),count(*),count(age) 分别是什么值? 2.2 sum(age)值是什么(面试官说MySQL5.6版本,sum函数字段有一个为null,结果就是null,后续版本有修复,本人测试Mysql5.5以及5.6都没有出现这种情况), 2.3 select null + 1 结果是什么
  3. 3.1 一张一千万数据的表,limit 0,100 order by id和 limit 5000000,100 order by id 性能上有什么区别,会不会查不出来? 3.2 用java代码将这张千万数据的表复制到另一张表,每次复制100条,怎么优化?(将上次的id保存起来,where id > 上次的id,limit 0,100)

mybatis:

  1. #和$ 符号,在xml里面动态拼接一个表名,应该用哪个?
  2. mybatis dao层方法能不能重载?

java:

  1. 定义一个Map<String,Integer>变量,它的value会不会存在一个值:张三?
  2. @Transactional, 2.1 默认情况所有异常都会回滚吗? 2.2 情况一:一个事务A用REQUIRED,内部调用一个事务B,事务B也用REQUIRED;情况二:一个事务A用REQUIRED,内部调用一个事务B,事务B用的NESTED(嵌套事务), 这两种有什么区别?如果在情况二进行手动回滚事务,这两种又有什么区别?

货拉拉:

  1. jdk与jre区别
  2. java数据结构
  3. 举例队列的使用场景
  4. list,set,map区别
  5. 有没有了解双列结构
  6. map用过哪些
  7. concurrentHashmap 底层实现,存的数据元素是什么
  8. 什么时候转换成红黑树,什么版本才转换成红黑树,什么时候是链表
  9. 除了concurrentHashmap还用过其他并发类
  10. 平常使用过什么锁
  11. volatile原理
  12. 有没有使用过threadlocal,怎么用的
  13. 拦截器和过滤器区别
  14. 内存溢出,内存泄漏以及各种场景
  15. jvm内存区域
  16. new string对象是存放在哪
  17. 线程的静态变量从哪里取的
  18. 发生内存泄漏,线上比较卡顿,怎么处理?
  19. 堆栈满了,如何定位问题
  20. 介绍项目
  21. 上家离职原因
  22. 项目细节
  23. rocketmq、kafka、rabbitmq选型
  24. 从哪些社区学习
  25. 有没有用过mybatis-plus,为什么要用
  26. sql优化
  27. 主从配置
  28. 灰度发布怎么实现
  29. 网关选型
  30. gateway和zuul区别
  31. gateway为什么高性能
  32. netty为什么高性能
  33. BIO 和NIO、AIO区别
  34. 了解哪些网络协议
  35. websocket原理
  36. mybatis #和$区别,$的场景