字节客户端面经--可0基础
【简介】
本人坐标北京某211高校,找工作时学习C++语言的,自己面试字节客户端是零基础零经验面试通过的哦,最近总结了一下自己的面试过程中遇到的问题,希望对大家能有所帮助。
【C++语言基础类】
- C和C++的区别是什么?
- 什么是面向对象编程?类的三大特性是什么?
- STL库用过吗?常见的STL容器有哪些?算法用过哪几个?
- 什么是多态?虚函数和虚函数表理解吗?
- 当用父类指针去初始化一个子类对象时,当使用该指针去调用父类中被复写的虚函数时,是怎么动态绑定到子类的虚函数上的?(说下动态绑定的过程)
- 类对象在内存中的布局情况是怎样的,当发生继承时,子类对象和父类对象的布局又是怎样的?(等同于问 <==> C++中发生继承时的内存对象模型是怎样的?)https://blog.csdn.net/sunpengshanda/article/details/85061932
- static、const,分别修饰类成员、类函数分别有怎样的表现?修饰普通变量呢?
- extern关键字的作用了解吗?
- 函数参数const传值知道吗?为什么要用const修饰函数参数?
- 指针常量和常量指针区别是什么?会定义函数指针吗?
- 指针和引用的区别是什么?
- 解释下野指针与悬空指针。
- 什么是智能指针,说说引用计数。
- New 和malloc的区别是什么?
- 什么是内存泄漏?怎么有效检查程序的内存泄漏?
【算法面试题】
- 链表翻转、插入、删除。
- 二叉树的前、中、后序遍历(递归和非递归方式)。
- 二叉树的插入、删除、查找、对称操作。
- 二叉树某两个节点的最低公共祖先、二叉树查找的最短搜索路径
- 排序算法,快速排序、归并排序、堆排序。
- 积水问题,https://blog.csdn.net/weixin_43336982/article/details/105221067
- 背包问题
- 在给定字符串情况下,求最长的不含重复字符的字串的长度。
- 编辑距离问题。https://www.lintcode.com/problem/edit-distance/description
- 给定两个字符串,求两个字符串的最长公共字串长度。(进阶:求出最长字串)
- 在 O(n log n) 时间复杂度和常数级的空间复杂度下给链表排序。
- 给出一个链表,每个节点包含一个额外增加的随机指针可以指向链表中的任何节点或空的节点。返回一个深拷贝的链表。
- 给你一个链表以及一个k,将这个链表从头指针开始每k个翻转一下。链表元素个数不是k的倍数,最后剩余的不用翻转。
- 将一个二叉树按照中序遍历转换成双向链表。
- 给一个 01 矩阵,求不同的岛屿的个数。0 代表海,1 代表岛,如果两个 1 相邻,那么这两个 1 属于同一个岛。我们只考虑上下左右为相邻。
- 两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。
【计算机基础】
- 栈空间和堆空间清楚吗?不同空间里对象的生命周期有什么不同吗?
- 堆数据结构和栈数据结构知道吗?
- 简述下逻辑地址空间、物理地址空间和虚拟地址空间,知道操作系统分页管理和分段管理的机制吗?分页管理和分段管理有什么区别吗?
- 进程和线程的区别是什么?进程和线程间通信的方式分别有哪些?你用过那几种?
- 同步IO,异步IO了解吗?
- 了解select和epoll的原理、区别吗?
- 什么是死锁?死锁的产生条件是什么?解决死锁的基本方法有哪些?
- 进程有哪几种状态?操作系统中进程间的调度策略知道哪几种?
- 内存分页管理的页面置换策略有哪些?
- 介绍一下操作系统中断的过程?中断发生时,内存中数据怎么存储的,存到哪?怎么恢复的?
- 简述一下用户态和内核态。什么情况下,会发生用户态到内核态的切换。
【计算机网络】
- TCP、UDP概念与区别。
- TCP连接是怎么保传输可靠性的?
- 说下TCP滑动窗口、拥塞控制原理,三次握手,四次挥手机制。
- 简述下HTTP和HTTPS的区别,以及HTTPS的加密过程。
- 解释一下HTTP的长连接和短连接,HTTP头部有哪些内容,GET和POST有什么区别?
- 了解cookie和session吗,二者有什么区别?
- 什么是负载均衡,知道典型的负载均衡算法吗?
- 浏览器输入百度地址,中间具体访问过程是怎么样的?
- DNS的解析过程是怎样的?
- IP地址的分类清楚吗?子网是怎么划分的,什么是子网掩码?
- 代理服务器的工作原理是怎样的?代理和网关有什么区别?
【职位要求】
1. 2021届获得本科及以上学历,计算机、通信等相关专业。 2. 热爱计算机科学与互联网技术,对移动产品有浓厚的兴趣。
3. 扎实的计算机基础,数据结构和算法基础知识,精通至少一门编程语言,包括但不限于:java、Objec-C、Swift、C、C++。
4. 具有良好的分析、解决问题的能力。
【字节客户端研发团队招聘的优势】
1. 客户端团队非常缺人,需求大,竞争小,机会多,薪资高。
2. 只要你基础知识扎实,我们接受客户端零基础、零经验,团队有很多大牛,入职后有mentor一对一指导,包教包会。
3. 工作地点选择多,北京、上海、深圳等一线城市随意选,其他城市也可以协调。
4. 字节福利待遇优厚,休闲下午茶、夜宵,无限量零食,三餐免费、免费健身房、住房补贴、晚上10点后打车报销等福利。
5. 去年的校招客户端,入职后标配3个月薪资的签字费,北京还有10000元的租房基金。
【投递方式】
投递方式1:
点开投递链接,输入内推码,即可内推成功(附上我的内推码:97D7N35 ):
1. 北京客户端投递链接: https://job.toutiao.com/s/J6c9rEV
2. 深圳客户端投递链接: https://job.toutiao.com/s/J6caTKs
3. 上海客户端投递链接: https://job.toutiao.com/s/J6cXQsQ
投递方式2:
通过邮箱投递,直接将简历发我邮箱。格式为【校招内推-姓名-学校-意向职位】,意向职位请书写城市名-ios/android,我的邮箱为zengbo_bupt@foxmail.com,意向职位选择参看投递方式1哦,建议通过方式1投递哟!
有任何问题可以发我邮箱,或者加我vx:zb13621304903,私信问我,欢迎大家砸简历哦。
--#面经##字节跳动##安卓工程师##iOS工程师##校招#