字节移动端开发面经
楼主即将大四,面的是移动端开发岗。一个星期前学校师兄帮忙内推投的简历,很快就约面试了,部门好像是深圳那边的影像团队,hr说做什么轻颜和剪映之类的影像产品的。现在面了两次,都过了,约的7.22三面。之前一段时间在牛客上看了很多面经,帮助很大,这里先总结分享下面经回馈给大家。
一面
1、操作系统
- 进程和线程的区别,为什么会提出线程这一概念
- 常见的进程调度算法及原理,优缺点
- 进程间通信方式
- 多级储存结构了解吗?为什么会有这种结构
2、c++
- 面向对象的三个基本特征、和作用
- 虚函数的作用和原理
- 智能指针的类型有哪些,有什么作用
- 引用和指针的作用和区别
- c++ voliate关键字的作用
- 字节对齐
3、计算机网络
- tcp和udp的区别与应用场景
- tcp的握手挥手、拥塞控制策略
- http和https的区别,https用什么保证安全
- 什么是证书
- 什么是对称加密非对称加密,你知道的对称加密算法和非对称加密算法
- ip协议,在哪一层,有什么作用,ipv4和ipv6的区别
- 网络地址转换是什么,优缺点是什么
4、编程
- 出的是数据结构相关的一个题目,给一个非递减顺序的链表,删除其中重复的节点,只保留不重复的节点,并返回处理后的链表头。不算难的一题,一开始以为会是动态规划,结果不是,是数据结构类的题目,主要考察对链表的理解和代码能力,很快就写出来了,不过面试官说再看看,检查一下发现有一个地方指针赋值错了,改好了没有编译运行,就OK了。
二面
1、Java
- hashmap、hashtable,hashtable如何实现线程安全的
- Object.finalize()
- ConcurrentHashMap 如何保证并发安全
- 红黑树
- jvm 内存
2、计算机网络
- TCP 慢启动,快重传
- UDP、TCP 谁更适合实时音视频传输,如果丢帧或者乱序怎么处理
- HTTP 2.0 、HTTP报头、keep-alive
- quic 协议
3、设计模式
- 设计模式:观察者模式、单例模式等实现,简单写下代码
4、项目
聊了一下在学校里面做过的一些项目,问了下跟其他同学合作的过程以及遇到问题时的排查思路
5、编程
一道简单的动态规划题目,一个环上有10个点,从0点出发,可以向左走也可以向右走,走n步,走到第5个点,有多少种走法?
一开始有点紧张没想出来,后来在面试官的提醒下,还是勉勉强强做出来了,其实就是一个简单的动态规划题目
总的来说面试体验还不错,面试官很尊重人,不会很高冷,题目做不出来也会循循善诱给一些提醒,期待三面能顺顺利利~
#面经##字节跳动##校招##安卓工程师#