被面试官问算法问到自闭!字节跳动Java一面二面经验分享

本文分享了字节跳动Java面试的一面和二面经历,涉及算法、操作系统、JVM、并发及数据库等多个知识点。面试问题包括二叉树类型、数据结构的时间复杂度、内存模型、数据一致性、并发问题、数据库索引等,展现了面试的高难度和深度。
摘要由CSDN通过智能技术生成
一面(各种算法)

说一下二叉树,满二叉树, bst avl b+树b树,红黑树的区别

说一下数组链表哈希表的使用场景,时间复杂度,优劣

说一下操作系统用户态和内核态

说一下操作系统虚拟内存

说一下Linux fork()系统调用的过程,要求讲到内存过程

说一下Linux无名管道命名管道的内存过程,底层原理

无名管道产生的过程,原理

Java说出你知道创建字符串的方式,比较性能优劣

说一下jvm线程调度过程, 什么情况会发生抢占

说一下线程通过继承thread和实现runable接口实现的线程,底层有什么区别

说一下cookie和session的区别场景的选择

cookie跨域

说一下xss攻击

算法:

一个长度大小为n的数组,数组中的每个元素的取值范围在[1,n],且为正整数。问:如何在时间复杂度为O(n),空间复杂度为O(1)的条件下,统计数组中不同元素出现的次数。

二面(90分钟超长拉锯战)

说一下Java内存模型

Java内存交互操作

如何保证数据一致性?

volatile如何保证数据一致性?

valatile的变量两个线程一起操作会发生什么? 联系对象头。

Intel cpu的数据一致性协议是如何保证数据一 致性的?

为什么要有高速缓存,存器,内存?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值