一面 自我介绍 项目介绍 项目问了一点 然后开始八股 dns机制 tcp的三次握手和四次挥手 线程和进程区别 golang的gmp模型 channel机制(感觉不太会后,主要问Java了 Java的四大引用,分别在什么时候gc gc了解哪些算法 go的gc机制了解吗 mysql的索引机制 如何优化慢sql,怎么排查慢sql 针对抖音秒杀场景,你怎么测试,怎么设计测试用例 写一道题的sql(很简单 code:最长回文子串,问多种优化办法,感觉想问最高效的那个,确实不大会,只写了中心扩散 二面 自我介绍 项目介绍 项目问了很多 然后开始八股,(二面没怎么记录,以下按回忆想起来的 http的content-type有哪些格式 http和https有哪些区别 https加密过程 地址栏输入一个域名的解析过程 Java一般什么时候发生full gc JVM发什么oom你一般怎么排查 redis和mysql的区别 针对支付业务,你怎么设计测试用例 写一道sql题,简单 code:求数组中子数组和为k的最长子数组长度 ps:😂我一直考虑滑动窗口来做,但是面试官希望O(n)复杂度之内,O(n2)复杂度不太满意,后续又补充了队列,前缀和等做法,但这题其实是前缀和+hashmap才是最优解。 三面 三面面试官很强 基本不用自我介绍,很仔细看了我的简历 然后问了很多项目内容,提出了很多平时没关注的东西,告诉我尽量多关注些这些。 没问八股和基础 针对支付过程,怎么去设计并完善自己的测试用例,battle好久,感到压力越来越大 出了一道题,但他说如果思路说出来,也可以不用做,但我感觉是真的难,压力到了顶点 m堆金币,n个人,怎么分给其他人最多,分的过程中需满足以下三个规则1.一个人只能从同一堆拿2.每个人分的结果必须要一样3.每一堆金币可以不分,或者分给多个人 我刚开始思路就是错的,以为用堆排序求最大金币数堆, 然后给每个人均分,不能均分的人,就从第二个大堆去均分, 以此类推下,均分量取每次均分最小的那个,保证每个人都能分到。 后来他提醒设x,每个人最终x个,我就说x从1开始迭代,看每个人分x个,x最终等于多少可以满足,他就问你怎么设计这个过程呢,我说如此如此 沉默了一会后, 他就说算了,换一道题吧 第二题是二叉树的后续遍历,不让用递归,只能迭代去做,我用栈去模拟,但只写了六分钟,面试官感觉我有点慢,就突然说可以了,你有什么想问我的吗😂 面试到这里就结束了 感觉应该凉了,如果后续有消息来通知大家。 我自己在LC找到了分金币的原题,链接放这里了https://leetcode.cn/problems/maximum-candies-allocated-to-k-children/,居然是二分来做。。。 hr约面了 hr面后续更新 hr面 自我介绍 为什么选择做测开,而不是后端 对于工作内容是否有所了解 对抖音电商是否了解 过去实习经历中,遇到最大的问题是什么,怎么解决的 未来想在北方还是南方发展 当初为什么不出国,而是考研 手上有其他公司offer吗,为什么没有,有反思过什么原因吗 反问 base 杭州上海北京区别 测试序列还是技术序列 人员平均年纪多大 业务发展情况 几天之后出结果(三天内)