Java工程师面试题总结-字节跳动/腾讯

本文全面覆盖技术面试关键知识点,从TCP/IP协议、多线程安全到数据结构与算法,深入探讨红黑树、哈希表及复杂度分析。解析Java多线程、内存模型与GC机制,详解数据库索引、事务隔离及SQL优化。涵盖Spring框架、HTTP协议及常见安全问题,提供实用编程技巧与面试策略。
摘要由CSDN通过智能技术生成

 

  1. TCP断开连接(TCP四次挥手,从客户端开始断开连接说的。)close wait 和time wait分别在哪边?啥作用?假如是服务器先断开连接那time wait状态是在服务器那边吗?
  2. java 多线程写过没有?线程怎么保证安全?
  3. 红黑树和二分查找复杂度,hash表复杂度,为什么?(O(1),然后说了如果冲突了一般会用拉链法,一个拉链若有N个结点的话,在这个拉链上查找就变成了o(n),然后又问如果是用拉链法的话总体时间复杂度是多少(我开始说O(1),说理由感觉有点懵了,后面说这不是跟拉链长度有关嘛)然后问,拉链要是太长了怎么办(转成树结构),hash表要是太满了如果每一个拉链都特别长呢?(扩容,重新放置元素)还有其他解决冲突的方法没有?(冲突了直接找下一个空闲位置,这个好像叫线性探测法?)
  4. 进程和线程的区别;同一个进程中的线程共享哪些资源,哪些是独占的。线程是怎么进行切换的。
  5. 2G内存是怎么运行4g的程序?
  6. 索引是什么
  7. 有哪些索引?什么是聚簇索引?他的叶子节点和非叶子节点都放了什么?B+树索引有什么特点,好处?为什么不用二叉树?
  8. 加入迈台阶一次可以迈1或2或3步,100阶的台阶有多少种走法?
  9. 手撕算法是找到一个二叉搜索树中的第k小的结点
  10. session和cookie区别。多台服务器的话,要怎么存session。
  11. 讲一下zookeeper,一致性协议?
  12. 操作系统:一个字符串写道磁盘的过程。
  13. Mysql的隔离级别,每个隔离级别怎么实现的。
  14. 事务的原子性怎么实现的。
  15. 数据库里面有哪几种日志。
  16. String StringBuilder StringBuffer区别
  17. RuntimeException有哪些,提到了空指针异常,问怎么避免空指针异常
  18. hashCode与equals
  19. 怎么实现序列化与反序列化
  20. 隔离级别 msyql怎么解决可重复读
  21. innodb与myisam区别
  22. 最左前缀
  23. explain
  24. 内连接 左连接 右连接
  25. redis数据类型
  26. spring的scope
  27. spring bean生命周期
  28. spring怎么管理事务,传播属性有哪些,rollback
  29. 算法题:给一整数数组, 用当前元素之后数组中的最大元素来替换当前元素(右侧的最大元素). 因为最后一个元素的右边没有元素了, 所以用 -1 来替换这个值. 举个例子, 如果数组为 [16,17,4,3,5,2], 那么它就需要修改为 [17,5,5,5,2,-1]。 要求:你需要在原地实现(不允许创建新的数组或几何对象)
  30. 算法题,先给了个接雨水的问题
  31. volatile
  32. Jdk动态代理原理
  33. 堆与栈区别
  34. 创建线程方式
  35. http 状态码,请求头
  36. 登录功能安全性问题
  37. Spring是单例的吗,什么时候用原型
  38. 联合索引例子,where条件中name = fun('A') 和 fun(name)='A'性能区别
  39. 看过哪些书,有啥收获
  40. 什么是事务
  41. 主键和外键
  42. jvm调优
  43. 线程同步
  44. gc算法
  45. java内存模型
  46. integer和int区别,double和float区别
  47. 线程池过程
  48. 单例模式
  49. cookie和session区别
  50. tcp udp区别
  51. http请求
  52. socket编程
  53. java开源项目了解多少
  54. spring事务
  55. 数组链表区别,堆和栈区别
  56. 判断单链表有没有环
  57. map的数据结构
  58. 快速排序,归并排序
  59. 编程:{2-(2*7)/2}+100
  60. 编程:排序链表
  61. jvm的理解
  62. 垃圾回收机制
  63. 进程通信的方式
  64. java容器
  65. 哈希表
  66. 逐行读取一个log文件
  67. 数据库存储过程
  68. 关系型数据库和非关系型数据库区别
  69. 拥塞控制
  70. tcp长连接和短连接
  71. set和map区别
  72. map的查询时间复杂度,
  73. 项目里如何用的map
  74. java的gc
  75. 深拷贝浅拷贝
  76. 值传递、引用传递区别
  77. 编程台阶题

 

未完待续。。。。。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值