已OC,发面经回馈社会
可能因为是CS擦边球的信电专业所以没有挖特别深,运气比较好
投递时间6月27,面试7月4号10点开始,上午1、2面,下午1点3面
努力回忆了一下,列了所有能想起来的问题
一面(1小时)
自我介绍
讲个印象深刻的项目
数组和链表优缺点
栈和队列区别,应用场景
栈实现队列
哈希表原理
哪些函数可以用作哈希函数
tcp udp应用
描述一下非对称加密和对称加密
两种加密如何配合使用
进程线程
什么是锁,自旋锁互斥锁区别
手撕数组A-数组B
为什么要用set
set的实现,查找速度
面试官说了一句话让我印象深刻,大致是 “我们并不指望你掌握所有知识,当今社会这也是不现实的,我们更加希望你对你会的东西有自己的理解,能作一些合理的推断”
复习的时候还是要多思考,想象应用场景,问问自己前辈们创造这些数据结构与算法的目的
二面(50分钟)
早期c语言函数怎样实现多个返回值
指针和引用的异同
有没有用过宏
为什么不能用宏代替大型函数
无符号数与有符号数的区别
static关键字
static应用场景
为什么单例模式要把构造函数放在private
套接字在哪一层,能封装哪些协议
udp可以实现的功能
对ip更下层的协议是否了解
arp的运作方法
对子网掩码是否了解
我们之间的通信是如何解析的ip
手撕旋转矩阵90度
时间,空间复杂度是多少?
swap函数的实现
三面(50分钟)
介绍项目经历
项目中为什么要用lstm,应用场景
为什么想做客户端开发
开放题,复制粘贴的实现
开放题,抖音某一地区卡顿的可能原因(计网学得太浅了,答得唯唯诺诺)
讲讲事件驱动
举个例子证明自己学习能力强
有什么要问我的
三面问得就很宽很深了,开放题要求逻辑自洽即可,有点hr面的味道。
总体来说字节跳动的面试体验很nice,和面试官的沟通没有感到很强的压迫感,前两面几乎是刚关摄像头就出结果,效率极高。
我个人技术菜鸡,和科班前辈们技术上的差距还是要踏实弥补,只能从其他方面给出一点面试技巧的建议:
对自己有个清晰的定位很重要,面试会用各种方式考察你是否有明确的目标和实施的规划
面试官也是人,一场面试并不是单方面对方挖坑你填坑的过程,利用表达和暗示去引导面试官去问你熟悉的东西,就是互相挖坑了
回答问题的时候多举例子,构建一个应用场景可以告诉面试官你不局限于书本上的定义。例子还能留给面试官继续深挖的空间,深挖自己举的例子自然是主场作战了
全部评论
(23) 回帖