字节跳动客户端面试
暑假面试的字节小说客户端,一开始投的是实习生,后来转成了秋招,已收到offer也准备签字节了。现在想起来来记录下,面的是C++。
2021/08/17 一面 50min
一面结束第二天告诉我通过,然后约的二面时间
- python和C++的区别,为什么C++效率高,python效率低
- 什么是面向对象
- 什么是客户端
- 多继承有什么缺点,继承和组合的区别
- 什么是设计模式,讲一下策略模式,用代码简单写一下
- C++的内存,内存泄漏是什么
- new,delete,malloc,free的区别
- 什么是HTTP,http状态码有哪些
- HTTPS的原理及过程,HTTPS真的安全吗
- 进程和线程的区别
2021/08/20 二面 60min
二面结束不到十分钟HR就联系约三面时间了
- 在学校学过哪些课程(数据结构,C++,体系结构,根据说的课程问了一些)
- C++指针和引用的区别
- 常量指针和指针常量,常量引用
- C++的内存有哪几块
- new和malloc的区别
- 怎么获取操作系统栈和堆的大小
- 什么是面向对象,什么是多态
- 什么是虚函数,什么是纯虚函数
- C++的编译步骤,静态链接和动态链接区别
- 进程和线程的区别,进程分为哪几个状态
- 进程在执行状态时收到I/O请求后会怎么样
- 操作系统是怎么管理内存的,什么是段页式管理
- 虚拟内存和物理内存的区别,双方地址怎么对应的
- 五个线程读一个文件,怎么最多两个线程同时读
- 五个线程中2个读,3个写,怎么实现
- 线程怎么共享内存
- 代码实现环形队列
- 两个字符串类型的二进制,实现加法
2021/08/24 三面 leader面 70min
三面上来先写一个个算法题,然后简单问了一些技术上的问题,再之后就是聊天了
- 算法题,一个整数数组可能包含负数、0和正数,输出乘积最大的连续子数组
- 有2,3,5,8,16这五个砝码,其中有一个重量和标的数值不一样,怎么找出这一个
- 什么是内存泄漏,有什么避免方式
- 重载和重写的区别
- C++的锁
- C++内存分配
- 进程的调度有哪些方式
- 什么是死锁,怎么造成的,怎么避免
- TCP可靠性怎么保证的
- 挑一个做过的项目讲一下,担任什么角色,做了什么事
- 对互联网最新技术有什么了解
- 最近有在学习什么新的技术,为什么想去学这个,目前学到什么进度了
- 新技术是怎么去学习的
- 未来3到5年的职业规划是怎么样的
- 你的优缺点,你觉得为什么会有这个缺点,可以怎么改进
2021/08/26 HR面 30min
电话面,基本就是聊天了
- 自我介绍
- 自己觉得前三次面试的表现怎么样
- 简历上写的项目中印象最深刻的是哪个,担任了什么角色,做了什么工作,和其他人的合作是怎么样的
- 对于团队合作你是怎么看的
- 如果项目组中,有人因为某些个人原因导致无法按期完成,你会怎么做,你会怎么避免这种事发生
- 为什么想投字节
- 为什么想应聘这个岗位(客户端)
- 你觉得你在过往经历中,体现出来的优点或优势是什么,能结合具体事例讲一下吗
- ......
2021/9/7 收到意向书,9/13提前实习,10/26开奖,11/1收到offer