【模拟面试2020-03-08】【答案TBC】

自我介绍

基础

HashMap

  • 不同JDK版本实现对比
  • 为什么会在JDK1.8中做优化,JDK1.7版本会有哪些问题
  • 扩容机制
  • 如何保证线程安全
    • 选择ConcurrentHashMap的原因,为什么没有选择HashTable、Synchronized、Lock、Collection.Synchronized
    • Synchronized锁升级的过程

Spring

事务隔离级别

  • 有哪些
  • 和数据隔离级别比较

AOP

  • 实现方式有哪些
  • 项目中有哪些实际应用

反射

  • 使用场景:动态获取
  • 性能问题:(反射是一种解释操作)

Nginx

  • 如何做负载均衡的:一致性hash、加权hash、轮询
  • 常用的负载均衡算法有哪些

网络

TCP三次握手

  •  三次握手过程
  • 为什么不是两次或四次

MySQL

调优

  • 多个索引匹配
    • 覆盖索引、存储介质如果是机械硬盘的话,开启MRR
    • 普通索引:changeBuffer
    • 索引未生效:SQL语句排查、索引信息不准确(使用AnalyzeTable)
  • Explain分析出来的索引一定是最优的吗
  • 索引效率不高,如何补救:force index;覆盖索引  + 最左原则

热点数据大批量更新解决

  • 使用缓存
  • 缓存带宽被打满如何解决?可以考虑本地缓存

Java8新特性

  • 有哪些新特性
  • 使用过哪些
  • 做了哪些优化

项目

项目职责履行

模块化

  • 模块拆分
  • 模块间的调用
    • RPC原理
    • RPC框架
    • 超时处理
    • 集群处理
    • 消息中间件

问题排查

  • 外部流量正常,本模块日志激增,线程池被打满,如何排查

其他

平时如何学习

学习收获

业务和技术的关系

  • 技术驱动业务、业务产生价值

有哪些想问面试官的


题目来源:程序员面试一个Java实习生,展示教科书般回答,有两个大厂offer的他会来么?

猜你喜欢

转载自blog.csdn.net/yxz8102/article/details/108312523
TBC
今日推荐