字节日常实习系统架构(一二面已offer)

系统架构一面:

较多八股

1. java的内存结构

2. gc垃圾回收会回收栈和方法区吗

3. 一个对象在堆和栈里面怎么分配内存(int和Integer),程序计数器是在栈上移动,怎么调用对象

4. java是值引用还是指针传递

5. 四种引用类型

6. 垃圾回收被判断为垃圾的对象还有机会吗

7. java的面向对象的特性

8. 接口和抽象类的区别, 接口内部可以实现类吗(内部类)

9. java的锁类型,java内部实现的锁,cas,reentrantlock,公平锁和非公平锁,sychronized锁的升级

10. thread local(没用过多线程)

11. 单线程和多线程的区别,线程和进程的区别

12. IO多路复用,redis里面IO多路复用怎么实现处理多个请求,如果redis放在多核的服务器上有用吗?

13. 线程和进程切换上下文开销为什么会更大,涉及到内核态和用户态的转换吗

14. 协程

15. redis的数据类型

16. 有序集合怎么实现,跳表和B+树的区别,B+树为什么适合mysql数据库

17. 数据和链表的区别

18. hashmap的底层数据结构,没了解过treemap,如果要你实现一个treemap怎么实现(红黑树)

19. 计网tcp和udp的区别,tcp的拥塞避免,udp的应用场景(视频的时候可以允许包的丢失,比如丢失一两个字)

20. 算法题:合并有序链表

 

3. java一个线程的执行都对应一个虚拟机栈,线程的方法执行对应栈帧的入栈和出栈,堆栈共用其实是将运行和存储分离,程序运行和上下文切换都是在栈中,栈的大小不是动态变化的,而一个对象的大小是不可估计的,所以栈中只存放基本数据类型,和对象的引用,这样对象存放在堆中更合适,线程执行的时候,只需要从栈中取的堆的引用就可以了。

8. 接口是不能实例化的,但是接口内和普通类一样可以定义内部类,这个内部类是可以实例化的

12. redis是单线程,redis并不适合多线程,单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),其他模块仍用了多个线程。一个是内存内的数据结构如果是多线程要上锁,要多很多复杂的操作,得不偿失,对内存的操作本来就很快了,多线程反而多了上下文的切换时间,如果部署在多核服务器上,官方的解释是可以在多核上开多个redis实例,实现分片集群

13. 线程的上下文切换一般在进程内部的虚拟地址切换,除了不同进程间的线程间切换,进程切换要切换硬件上下文,如果多核cpu可能还要涉及cpu转换,其实主要是因为进程是对应内存资源的基本单位,各个进程间的内存资源都不一样,切换麻烦,而同一进程下的线程切换只是在共享资源间切换,就方便许多。

16. B+树更矮,mysql需要对磁盘进行读取数据,B+树作为索引,对磁盘的IO次数更少,对磁盘的IO很费时,所以次数越少越好

 

系统架构二面

1. 有一篇数据库领域的A类文章,跟面试官聊了二十分钟

2. 聊完之后他问我最近在学什么,我说redis

3. 然后我从redis的底层数据结构,到五种对象,然后单机,多机,主从复制,哨兵机制,分片集群给他过了一遍,都是讲了一个概念,没深讲,差不多讲了十分钟吧

4. String的底层结构是什么?相比C的string有哪些优化

5. 跳表的实现

6. 分片集群的时候,如果一次性访问多个key,但是不在一个节点上,是怎么确保能取到正确结果的

7. 算法题:一亿个三维节点,怎么设计一个数据结构,让每次执行Topk(x,y,z,k)的时候能找到距离最近的k个点

 

二面完第二天约hr面了,hr面视频聊了十分钟就直接发offer了,不得不说字节的效率还是很高的,相比同时进行的hw,字节都拿到offer了,才开始约一面时间

#字节跳动日常实习##字节跳动##面试题目#
全部评论
老哥去哪投的简历啊 感觉问的问题还好、不难
2 回复 分享
发布于 2022-01-16 12:51
一亿个三维节点,怎么设计一个数据结构,让每次执行Topk(x,y,z,k)的时候能找到距离最近的k个点 想问问最后一个设计题思路: 我思路(感觉不行):设计一个{x,y,z,value}带权值的数据结构,存集合按value自动排序,然后搜索最近k点也按value去搜索它周围的点吗(我想法是这样,然后具体value权值怎么算,也没想好)
1 回复 分享
发布于 2022-01-25 15:13
这个和我面电商的那个简直不一样,为什么没有系统架构捞我?😭
1 回复 分享
发布于 2022-02-01 21:10
抖音部门的Java面试是不是要难一点啊😢 我看好多字节的Java面经难度都参差不齐的
1 回复 分享
发布于 2022-02-07 00:33
阿里云日志服务招实习,有意向可以投简历至xuyajun.xyj@alibaba-inc.com
1 回复 分享
发布于 2022-02-14 17:22
老哥base在哪
点赞 回复 分享
发布于 2022-01-15 21:32
老哥是实习三个月还是两个月?
点赞 回复 分享
发布于 2022-02-25 21:54
第二个三维点要怎么做啊,除了遍历想不到其他方法了😂
点赞 回复 分享
发布于 2022-03-01 13:49
系统结构也要问八股吗?我看岗位要求里面只有算法、数据结构和OS,呜呜呜呜
点赞 回复 分享
发布于 2022-03-15 10:25
数据库A会 真牛逼
点赞 回复 分享
发布于 2023-03-06 15:07 台湾

相关推荐

无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
评论
13
131
分享
牛客网
牛客企业服务