0
点赞
收藏
分享

微信扫一扫

字节跳动社招Java常见面试题

飞空之羽 2022-04-27 阅读 127
java面试

1. JVM

  1. JVM内存模型 G1和CMS垃圾回收器
  2. JVM的堆是如何分区的
  3. GC垃圾回收了解多少?新生代和老年代的区别是怎么样?
  4. 垃圾回收算法

2. JAVA 基础

  1. 如何中断线程,await和sleep区别
  2. Synchronized 1.8后做了那些优化
  3. 轻量级锁
  4. Java类加载器有哪些种类,每种都用来加载什么
  5. 双亲委派,String 类是由那个类加载器加载的
  6. volatile 关键字原理
  7. Java线程池的参数有哪些,如果让你自己实现一个线程池,你会怎么实现
  8. 线程池运作过程是怎样的,这里面的队列有哪些,无界对列当任务很多的时候或发生什么?线程池默认的队列是什么
  9. 介绍下动态代理
  10. 微服务的优缺点
  11. Java1.8了解哪些新特性?重点讲讲HashMap和CurrentHashMap
  12. 可重入锁reentrantlock
  13. hashcode与equal

3. Spring

  1. spring生命周期,几种scope区别
  2. SpringCloud 组件介绍,及微服务之间是如何调用的
  3. Spring对象的SCOP 知道吗
  4. Spring中常用的设计模式举4例子

4. 数据库

  1. 数据库 左连接、右连接、内连接、外连接区别
  2. 分库分表的话查一条数据怎么查
  3. SQL题(有一张考试分数记录表exam,包含字段(id,student,subject,score;)选出每个student的最高score记录,需要包含所有字段)
  4. 数据库的索引大多用的是B+树,为什么很少用B树
  5. 事务的ACID
  6. 介绍下Mysql的隔离级别,可重复读回出现什么问题(幻读)什么是幻读,怎么避免幻读
  7. 如何判断是否命中索引?如何优化索引?
  8. 索引:索引的分类,聚簇索引的概念,如何创建联合索引,有什么原则(最左前缀匹配原则),聚簇索引和非聚簇索引;怎么分配;为什么这样分配;

5. 计算机网络

  1. OSI七层协议和TCP/IP五层协议有什么区别?TCP/UDP在哪一层?对TCP了解多少?

6. 操作系统

  1. 线程和进程的区别?怎么创建线程?有哪些状态?有什么区别?
  2. 线程有哪些状态?阻塞状态又分为哪些,有什么区别?

7. Redis

  1. 删除Redis数据的时候没有删除成功怎么办
  2. Redis的两种持久化模式

8. Kafka

9. 分布式

  1. Seata的分布式事务介绍
  2. 如何设计一个高可靠的分布式锁

10. 设计模式

  1. 设计模式:写一写单例模式-懒汉模式,饿汉模式,线程安全型,双重校验锁型。为什么要使用双重校验锁的单例模式?

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  2. juc中的countdownlatch,其概念,使用场景。

  3. java中如何查看线程状态,你知道那些java自带的命令。

  4. 设计模式,说一下策略模式和装饰器模式。

  5. 有哪些编码格式(GBK,UTF-8,ISO-),有没有想过为什么会有这么多的编码格式。

  6. Http和Https的区别?

  7. 了解哪些加密、解密算法?

  8. Redis的数据结构有哪些?为什么Redis那么快?

  9. 乐观锁和悲观锁,以及CAS是什么,怎么体现在HashMap中?

  10. TCP三次握手、四次挥手的具体过程,以及TCP有哪些保护机制,具体是怎么样的?

  11. Java如何实现线程安全(synchronized,ReentrantLock,AtomicInteger,ThreadLocal,CAS)

  12. CAS如何解决ABA问题(版本号)

  13. AtomicInteger的原理(UnSafe类,底层是一句CPU指令,避免了并发问题)

  14. 可重入锁是什么,非可重入锁又是什么

  15. Spring,AOP是什么,IOC是什么

  16. 二叉树的概念?红黑树又是什么,红黑树和其他平衡树的区别在哪

  17. TCP和UDP的区别

  18. 间隙锁是什么,具体什么时候会加锁

  19. SQLite如何加锁

  20. Java里的锁,有哪几种(synchronized和Reentrantlock)

  21. ReentrantLock有哪些特性(可重入,公平锁),可重入是如何实现的(有一个引用数,非可重入只有01值)

  22. 当某个线程获取ReentrantLock失败时,是否会从内核态切换回用户态?ReentrantLock如何存储阻塞的线程的?(AQS,不断轮询前一个结点是否状态发生了变化)所以什么是自旋锁?

  23. Redis的持久化如何做到的?(RDB+AOF)

  24. RDB具体是如何实现的,RDB生成快照的时候,Redis会阻塞掉吗?(使用BgSave,fork一个子进程去并行生成快照,不会阻塞)

  25. 既然生成快照的中途依然可以执行Redis,那么从节点获取到快照是不完整的,如何同步?

  26. 计算机网络的七层模型

  27. 常用的 I/O 模型

  28. Java 中的多线程和操作系统中的多线程有什么区别

  29. TCP 保证可靠传输的机制

  30. 线程进程,怎么进行上下文切换的,进程切换的过程?中断?谁去执行中断呢?

  31. 讲一讲内存分页,怎么进行内存分页

  32. 说一下OSI 模型,TCP/IP 模型说一下每一层的协议

  33. DNS 是基于传输层的什么协议的

  34. TCP 怎么保证到达的数据是有序的

  35. 死锁的四个必要条件

  36. 如何避免死锁?

  37. 如何检测死锁?

  38. 数据库中是否会出现死锁?数据库中的死锁避免是否可用刚才说的方法来避免?

  39. 如果进程一次锁住数据库中的多条记录来避免死锁,会带来什么问题?你觉得应该怎样解决这个问题?

  40. 如果数据库中的确发生了死锁,应该怎么解决?

  41. 说一下数据库中左连接是怎么做的?

  42. 如何优化连接操作?

  43. 文件系统有没有了解

  44. 通用的数据库有哪些,mysql 存储引擎有哪些,innodb 底层存储结构是什么

  45. 比较熟悉的 linux 命令有哪些

  46. 线程之间如何保证公共变量的一致性(锁的机制)

  47. http常用状态码 502?

  48. 网络拥塞现象排查,为啥网络传递越来越快(慢开始算法)

  49. raft原理,一致性hash算法

  50. dubbo负载均衡,根据场景你选用哪种,为什么

  51. 你谈谈你对zk的理解,redis分布式锁有啥问题

  52. springcloud,注册中心原理,配置中心原理,dubbo服务发现,熔断限流。

  53. DNS 的过程,DNS 有什么安全问题?DNS 底层是什么(UDP,IPV4…)?DNS 会减缓访问速度吗?怎么解决?

  54. ip 报文是怎么发到目的地的?路由寻址。 怎么知道ip 对应哪个主机(arp)?

  55. Redis为什么快?

  56. redis的备份机制

  57. Spring的事务了解吗?

  58. 事务回滚怎么实现的呢?Hibernate,MySQL的都可以讲讲

  59. Java集合类有哪些

  60. ArrayList是线程安全的吗?如果想让ArrayList线程安全怎么做?

  61. 数据库设计相关:分库分表的场景

  62. 讲一讲用到垂直分表的数据库的数据模型?

  63. 设计题:短链接服务设计。那新浪微博链接举例,长短链接要互相转换。有的短链接转长链接可能QPS会到十几万。

  64. session 和 cookie 是什么,有什么区别

  65. 在浏览器输入一个网址会发生什么

  66. Java 内存模型,线程属于哪块区域

  67. 红黑树特性;和平衡搜索二叉树的区别;时间复杂度

  68. TCP/IP模型

  69. lock 和 synchronized 区别

  70. 乐观锁和悲观锁

  71. 使用的JDK 版本;1.6、1.7、1.8 都有什么区别

  72. 有做过数据库优化吗

  73. varchar(35)的含义;中文在varchar中占几个字符;编码有哪些

  74. https 建立连接的过程

  75. http 状态码

  76. 重定向和转发区别

  77. mysql 事务并发的问题解决方法

  78. String 创建对象;intern 方法

  79. == 和 equals 区别

  80. Lambda

  81. JVM组成部分

  82. 虚拟机栈和本地方法栈区别(线程私有,每个线程都有一个)

  83. 可以用堆代替栈嘛(区别)

  84. JVM为啥要有垃圾回收器

  85. 如何定位垃圾,那些是ROOT节点

  86. Java程序占用cpu100%如何排查解决

  87. Connection=keep-alive干嘛的

  88. 为啥用Websocket做实时通信连接, JSONP了解吗

  89. 长轮询机制不能做通信吗

  90. Kafka顺序消费如何保证

  91. Kafka中Partion和Consumer对应关系

  92. Redis分布式锁先SETNX后,未来得及设置过期时间宕机了怎么办

  93. Redis内存不足时怎么样

  94. Redis如何查看大KEY

  95. LUA脚本有了解吗

  96. Redis如果有大量Key同一时间失效怎么办

  97. Redis Pipeline

  98. Linux断开SSH连接(窗口),如何让进程继续执行

  99. Http cookie客户端能修改吗,服务端能修改吗.做什么的

  100. Http连接Time wait是啥意思

  101. java里面hashcode的实现原理是什么,知道有哪些计算hash的算法

  102. 哈希地址冲突有哪些解决方式

  103. TCP握手,timewait作用,TCP握手的时候要交换什么数据,拥塞控制控制的是什么

  104. DNS用的什么通信协议

  105. 僵尸进程,怎么解决

  106. redis为什么那么快,epoll实现原理,为什么epoll比select快

  107. mysql缓冲池有哪些东西

  108. 项目有没有mysql主备,知不知道mysql半同步

  109. 如何防止sql注入,mybatis里#和$的区别

  110. k8s service是如何发现pod的

  111. k8s 负载均衡

  112. k8s 如果pod挂了怎么办,是否还会被调用到

举报

相关推荐

0 条评论