首页 > 字节 客户端 提前批 一面 、 二面 、三面面经 已意向书
头像
WinAir
编辑于 2021-08-19 19:51
+ 关注

字节 客户端 提前批 一面 、 二面 、三面面经 已意向书

今日头条基础架构部门 iOS客户端岗位

背景:本科非科班,操作系统、计网、C++等相关课程都是自学的


8.18 催了下HR终于发意向书了,估计是把我忘记了= =


三面
8.4 时长:1h05min左右

三面没有自我介绍,直接进入正题。
因为有一个项目与iOS逆向有关,这一面基本上围绕这个项目展开,问了一些项目细节和场景题
你理解的逆向?后端怎么鉴别合法用户的请求,可以做到绝对安全吗?如何对逆向操作进行防范?为什么认为OC相对容易进行逆向,为什么可以在二进制层面上做到逆向?

手撕: lc93 复原IP地址
因为提前批没有HR面,所以最后又问了一些HR面的常见问题
反问环节: 技术栈、前端对于原生客户端的影响


二面
8.2 时长:1h05min左右

二面的体验拉满了,提前十五分钟就在房间等着了,面试官好像是学长一样,一直劝我别紧张(= =没紧张啊)

大部分是关于项目,项目的实现、细节延伸,并根据项目给一些相关的情景题:
情景题: 如何解决高并发请求?如何过滤出机器人的请求?什么是中间人,在业务上如何防范中间人?

手撕:

  • 顺时针打印数组
  • 最长回文子串的变种题:说思路

反问环节

总结: 面试官相当看重处理edge case的能力,以及对项目细节的理解能力


一面:
7.29 时长:1h14min

自我介绍

纯享版八股文,没有问项目内容

线程和进程的区别?进程是什么?共享内存如何实现?如何解决同步问题?进程和线程的同步方法有哪些?各种虚拟内存机制(如怎么实现共享内存)?

内核如何为进程分配内存,页表项如何建立, 怎么执行进程?为进程分配的内存大小为多少?页表的默认大小为多少?页面置换算法有哪些?内核态和用户态怎么切换?

MySQL在内存中如何存储?HashMap如何解决碰撞?在什么场景下使用hashmap?

TCP和UDP和区别、对应的网络层次,TCP的三次握手,IP路由的查找,GET和POST方法的区别,HTTPS的过程,你知道的HTTP状态码?

各个a和10分别对应什么,存储在哪里?

int a = 10;
int main() {
    int a = 10;
}

class A {};
void test() {
    A a = new A();
}

手撕:删除链表中重复的节点


反思
这里列几个面试过程中一些比较开放的情景题:

  1. 怎么实现一个类似12306的解决方案,以应对高并发请求?
  2. 怎么尽可能做到反爬?

更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐