字节后台三面面经

记不清每一面问啥了,就按知识点分吧

Java

  • JVM内存区域
  • HashMap、CurrentHashMap
  • String, StringBuffer, StringBuild三连
  • GC算法
  • 复制算法为什么需要2个Survivor空间, 1个不行吗
  • survivor空间不够怎么办
  • volatile作用
  • synchronize底层
  • 可重入锁底层/AQS底层
  • LRU底层实现

Redis

  • Redis的对象结构
  • 实现对象的底层数据结构
  • SDS优点,链表、跳表的实现与复杂度
  • 有序集合的底层 -字典与跳跃表 为什么用这两个结构
  • Redis为什么快
  • RDB AOF优缺点,怎么选择

Linux/操作系统

  • 内核态和用户态的切换
  • 查看CPU使用率的命令
  • select poll epoll三连
  • 虚拟内存的作用
  • CPU二级缓存

网络

  • 从输入url到显示网页过程, HTTPS的认证, DNS解析过程
  • TCP三次握手,两次握手有什么问题
  • TCP UDP区别
  • TIME_WAIT作用
  • 如何快速复用处于TIME_WAIT的连接? 不懂

数据库

  • Mysql索引 hash和btree什么情况使用
  • B+数优点,为什么不用红黑树

算法

  • 排序一个字符串 时间要求O(n)
  • 最大正方形面积(不会换题)
  • 奇数上升偶数下降的链表排序 空间要求O(1)
  • 给一个有重复数字的数组,求集合{(a,b,c) | a+b+c=0}

祈愿offer

#面经##字节跳动##Java工程师##校招#
全部评论
这是校招吗
点赞 回复 分享
发布于 2020-02-24 23:29
楼主,求问三面主要问啥啊?三面是技术负责人面吧?还写算法题和问具体的知识细节吗
点赞 回复 分享
发布于 2020-02-24 20:03
没有问框架吗
点赞 回复 分享
发布于 2019-08-24 09:24
string 三连都是问哪些
点赞 回复 分享
发布于 2019-08-24 03:42
老哥怎么On排序字符串啊
点赞 回复 分享
发布于 2019-08-24 03:35
楼主真厉害啊
点赞 回复 分享
发布于 2019-08-22 21:22
楼主三面问这么多?
点赞 回复 分享
发布于 2019-08-18 21:23
楼主面过了吗
点赞 回复 分享
发布于 2019-08-18 21:05
重复的应该是让过滤掉吧,不然重复就更麻烦点了
点赞 回复 分享
发布于 2019-08-18 20:41
楼主哪里的头条啊
点赞 回复 分享
发布于 2019-08-18 19:54

相关推荐

不愿透露姓名的神秘牛友
03-23 15:20
华为 部门终端云 月薪:25K,总包:40W左右
点赞 评论 收藏
分享
04-01 21:25
已编辑
大连交通大学 Java
1. 自我介绍2. 项目深挖        •  一共开了几个进程?• “你用的是微服务的架构,那多模块间的通信是用的什么,具体的HTTP地址是怎么写的”○ “HTTP请求”(地址怎么写没太理解意思)• 还有几个想不起来了3. 八股文• 介绍一下网络模型○ 说了TCP/IP4层和OSI的7层,4层中每一层的作用,网络层和传输层的协议• HTTP在网络模型的那一层?○ 脑子短路了,说在传输层(实际在应用层)• TCP和UDP的区别?○ TCP是面向连接的,有可靠性和有序性,功能有拥塞控制和流量控制,UDP没有这些功能,但传输速度快• 适用的场景?○ TCP适合邮箱等数据可靠的场景、UDP适合游戏等要求速度快的场景• 如果让你设计一个聊天系统,你会采用哪个?○ 答的TCP(应该是TCP和UDP混合)• 如果用UDP会出现什么样的情况?○ 接受不到数据、乱序?• 进程和线程的区别?(实际上有七个角度可以说:资源、调度、内存、开销、通信、崩溃、场景)○ 进程包含线程,进程有自己独立的内存空间(栈、堆、数据段等)、线程只有栈空间(其实还有一个寄存器)○ 线程间通信直接在内存共享通信,进程需要通过IPC管道进行通信• 进程间如何通信?○ 说了有个共享区(是IPC的其中一个)• 数据库的数据存储结构是怎么样的○ InnoDB和mys,B+树和B树,B+树的数据存储在叶子节点、B数存储在所有节点(太片面了)• 线程池的核心参数有哪些?○ 核心线程数、最大线程数、队列、拒绝策略• 如果是B+树那查询的整个流程是什么○ 先通过根节点确定子节点,然后继续找,直到叶子节点• 为什么B+树是三层?○ 没回答上来,说的三层已经可以存储百万级的数据满足一般需求• 哈希表了解吗?请解释一个java中哈希的操作○ HashMap的put方法,先是hashCode方法、然后map中的hash、按位与、存入元素,引出哈希冲突和扩容机制,链表和红黑树的转换(低于6转回链表,超过8转成红黑树)、1.8以前是头插法、1.8以后是尾插法等等• 为什么是按位与?他是做什么的?○ 计算hash桶的位置,存入数据的依据• 方法异常的处理方法?如何优雅的处理?○ Try-catch方法• 如何在异常的时候释放资源?○ 手动释放和return 方法结束自动释放局部变量(错误,应该是try-with-resources、finally)• long类型所占的字节大小,范围是多少 ?○ 8字节、-2的63次幂到正的-1(这里我答错了)• 其他的基本类型都有什么呢?○ 一共八个,byte、char、boolean、short等4. 算法:数组中求严格递增的子序列的长度• 在letcode上做过,很快就做出来了,解释代码 二分查找5. 反问• 总结:问的都了解但说的不够细致,项目经验不够多,感觉希望不大。#牛客AI配图神器##面试##字节#
查看22道真题和解析
点赞 评论 收藏
分享
评论
5
152
分享

创作者周榜

更多
牛客网
牛客企业服务