时间线:24.7.8电话约一面 7.12一面(当天关照过) 7.16二面(隔天过)7.18三面(隔天过) 7.22hr面
本人:qs50内大学准大四cs 无文章 无科研 无实习 未学过计网
项目都是课程设计(数据库+密码学)
文章为小hs转载,格式可能有点混乱,作者是本人。本文所有回答都是现场作答,并非答案,请斟酌观看。
字节后端一面
+1 小哥哥,氛围很好,全程笑谈。共 65min 40 聊天 25 代码。
下面是流程:
自我先容
·你有一个加密项目,说一下对称加密非对称加密区别
·具体阐明 rsa 加密流程
·知道 sharedkey 吗,有什么特点
·golong 线程安全吗 答:加锁
·在那个环境加锁:答:读写
·死锁了解吗
·数据库 part:表布局讲一下
·索引设计思路
·慢查询了解吗
·怎么优化慢查询
·联合索引概念,三个 key 联合索引命中问题
·两个 key 联合索引命中问题
·计网:tcp 和 udp
·缓存工作原理
·数据布局:链表和数组区别
·OS:进程切换
算法题:单链表反转,请使用递归
简单题,递归即可
全程无痛点,考察均为基础知识,多背八股文即可
模棱两可的点面试官会引导,小问题不会也无伤风雅。
字节后端二面
面试官感觉是组长小哥哥,很有气力。全场 70min 拷打 45+20 代码+反问 5。
下面是流程:
自我先容,先容到项目时打断直接开问
·项目二(加密技能):你是怎么实现加密的?答:文件上有 aes+rsa 密码上有 hkdf(背诵准备好的 hkdf 先容笔记)(面试官了解 h 不了解 kdf,具体阐明 argon2id,hmac 附带阐明)
·怎样实现 aes+rsa?答 rsa 加密 aes 的密钥
·aes 与 rsa 区别(本质是对称非对称区别)(背诵区别 easy)
·扩展:你说 rsa 速率很慢,有没有具体衡量标准? 答:我不知道具体数字,但是可以从加密时间,加解密速率衡量。回应:只是附加,不知道不要紧
·继续你的项目:数据库项目,mysql 隔离级别
·脏读解决方法
·你提到 nextkeylock,怎么实现底层原理 (这个跳度有点大,一下没反应过来)答:锁 key,gaplock 锁区间
·索引 b+树布局先容
·数据库的各种锁(聊了十分钟)
·聊一下 os:进程切换
·进程通信六方法
·进程线程区别(全是背诵十分 easy)
·你说自学计网,简单考一下:http 状态码
·三次握手
·http 协议
·客户端服务器怎么交换密钥(交织问:答通过数字证书数字签名)
·说过程
·算法题:删除链表倒数 kth 节点
答 双指针便利后修改 kth 节点指针返回头
10min 不到写完,飞书界面太小看不全代码输出导致调试十分钟(太抽象了)(一直体现不出末了几位数,给我急坏了)(中等偏简单的算法)
反问:组里环境
二面考察更多跟着自我先容和简历走,每个流程都有覆盖(指简历上每一门课)。氛围活跃轻松,面试官是未来 leader,考的内容都在意料之内,也很简单。
字节后端三面
三面面试官一看就很有资历,前两面感觉都是+1 +2 的同学面试,氛围也很和谐。三面纯纯压力面,面试官十分严肃,对我的回答也是不置能否。但是同时对于一些设计方面的知识会引导你,感觉他的考察重心在于个人现场学习能力。对于不太了解的话题会让你尝试。
这次面试最深刻印象的点在于真的就是拷打到底。各位同学如果没有对某个知识衍生的东西很了解,就要思考一下是否要提这个知识了。比如面试里我提了一个幂等性我不怎么会,就被追问了十分钟乃至还有 callback 环节
具体流程如下:
·自我先容
·项目深挖,项目先容,项目衍生(如数据库,网络)项目包罗数据库,加密,少部分计网
·数据库高并发设计,如各种锁,缓存设计(很大坑)
·数据库优化(设计,sql 优化,索引优化等)
·含糊搜索怎么实现 我:(不是 like 就完事了吗)
·数据库数据布局 衍生题,存不了的外部数据怎么找 top100 索引:此题不应用最小堆(或者是我想不到怎么在堆里找索引)应该用双链表加哈希存储 rank,方便插入或者删除和探求。(后来发现是 LRU 的意思,完全没理解)
·数据布局 内存存不下的很多整数怎样找不重复:答双位图(一个存第一次一个存重复)回应:双位图还有其他解可以思考
·加密(本人项目有密码学所以才考)加密原理
·围绕数据库的加密(我比力擅长的加密方法直接没考好崩溃)
·token 怎么保证不被伪造
·token 怎么保证加密或者截取后不能造成很大影响,从前后端分别思量(已经在往计网靠了)答前端 uuid ,时间戳,后端 uuid,数据库(完全是瞎蒙) 我还嘴欠提了幂等性
·计网 幂等性怎样实现 我:?
·计网 怎么防止消息队列信息丢失
·计网 怎么保证前端操纵到达后端,如果不用消息队列呢
·计网 服务器重复请求,怎么幂等性解决(我真该死)
·计网 天生 uuid
算法: 找到两个有序数组的中位数,并要求时间复杂度为O(log(m+n)) 答:二分法 二十分钟才写完
本次面试连续一个半小时,拷打 70 分钟+20 分钟代码。面完人是懵的,各位同学如果不了解的点尽量还是藏一藏,不知道什么时间面试官给你 callback 就完了
总结
总的来说,一二面考察基础知识,难度不高。三面考察交织设计,对我来说十分难,而且是压力面。有幸通过面试,十分开心。希望大家拿到合适的offer!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |