字节跳动客户端一面面经
字节跳动客户端软件开发,开发者服务岗位。
timeline:9.12投递另一个岗位/十一后接到电话被调剂到这个岗位/10.20一面挂
字节确实适合用来考察自己的面试能力。喜欢发面试、问的问题专业又深入,可以当作一次很好的面试练习。
一面:70min
- 自我介绍
- 你最熟悉的语言是什么(我的是C++)
- C++中变量的生命周期有几种
- 什么情况下变量被存在静态区?
- static关键词的作用,不同位置的不同作用要说全
- 声明和定义的区别
- 在 C++中,类内只能对static成员变量进行声明,完整定义通常需要放在类外,这是为什么
- 宏定义和const的异同
- 讲解重复定义问题
- 一次函数调用在机器层面经历了什么
- 什么情况下会使用“压栈”
- 函数return的过程中涉及拷贝吗
- 讲解C++的模版
- 自定义一个类,可以重写哪些构造函数
- 讲解虚函数和纯虚函数
- 析构函数为什么要声明成虚函数
- 为什么构造函数本身不需要声明数组大小
- 读一段代码,给出结果(大概就是类的继承,最后print出的是哪个值,这一类的问题)
- 讲解智能指针
- 智能指针的底层原理,计数器是怎么维护的
- 如果让你做一个无需跨线程的,自动维护一块内存的一个类,你会什么时候申请、释放内存
- C++ 中如何管理线程的生命周期
- 智能指针是线程安全的吗
- 多线程环境下,如何正确使用和设计智能指针以保证对象生命周期安全
- map和unordered_map的区别
- vector动态数组底层原理
- vector扩容机制
- vector存在堆上还是栈上
- 往STL中放一个类,放的是本身还是拷贝
- /*准备问一些数据库相关问题,我答曰完全没用过,遂作罢*/
- 线程和进程的区别
- 线程切换的底层过程
- 编译流程
- 编译流程中各步骤的具体工作,要尽量细致
- 编译单元是什么,包含什么
- 执行一个可执行文件,机器层面发生了什么
手撕:数组相关的问题,解法是用两个二分查找结合在一起。应该属于简单题
反问
人在美国,面试字节的时候已经因为带时差的面试连续熬了十个夜,面字节的时候脑子都麻了,手撕秒出思路但愣是写了十五分钟没运行出正确结果,不知道哪写错了。问题问的很深,面试官也比较有耐心,可惜只答出来了七成左右。三天后挂了。面试时意外地完全紧张不起来,很困扰。也许我这种高三时也没一天上过十二小时学的人,骨子里没有对于高薪的渴望,只有对于加班的恐惧。
字节的员工真的很辛苦。面试官从晚上八点面试我到九点多,背后人来人往;九点时因为会议室紧俏,被从屋里请出去了。他眼神还有学霸的那种聪明英气,但被黑眼圈吞噬得差不多了。面试结尾,忍不住倒反天罡和面试官说了句“秋招季辛苦了”,他只是笑了笑。
#字节求职进展汇总##字节##发面经攒人品#