【字节测开】一面凉经&脏面评记录&反思
最小覆盖子串
https://www.nowcoder.com/practice/c466d480d20c4c7c9d322d12ca7955ac
时间线:投递字节→被算法岗挂简历→被测开捞起来→答的一塌糊涂脏面评。
ps:非常后悔,面试之前没看到这些建议(牛客的这篇帖子下面的:https://www.nowcoder.com/share/jump/1744360548030),估计以后无缘字节了
流程(45min):
1.自我介绍
2.两个测试相关基础问题(测试方法与理解)
3.两个测试相关场景问题(故障分析、测试样例设计)
4.算法题:力扣76最小覆盖子串
5.反问:业务是什么,我的回答(上述2和3)如何改进
总结
我对所有的问题都答的一塌糊涂...
1.自己不熟悉的方向或岗位,不要乱接面试!(起码对于字节这种,面评跟一辈子的公司。。。)
2.感受到了字节和心脏只有一个能够跳动的含义,各种角度
3.自我介绍的项目部分没说好:问我针对什么问题或难点,提出什么解决方式,说的比较混乱。需要整理下,更结构化的表述出来。
4.算法题,需要复健下,开始想到双指针维护区间,但第一时间没想到滑动窗口,导致没写出来。很可惜,这里应该非常脏面评。
5.项目:数据处理部分需要好好包装下。
算法题解
// 滑动窗口,外层移动右侧指针,内层满足条件时收缩左指针 class Solution { public: string minWindow(string s, string t) { vector<int> sCount(105, 0), tCount(105, 0); for (auto& c : t) tCount[c - 'A'] ++; int L = 0, n = s.size(); pair<int, int> temp = {-1, 1e9}; for (int R = 0; R < n; R++) { sCount[s[R] - 'A'] ++; while (L < R && sCount[s[L] - 'A'] > tCount[s[L] - 'A']) { sCount[s[L] - 'A'] --; // 记得移出 L ++; } bool enough = true; for (int i = 0; i < 26; i++) { int chSmall = i, chBig = int('a' - 'A') + i; if (sCount[chSmall] < tCount[chSmall] || sCount[chBig] < tCount[chBig]) { enough = false; break; } } if (enough && temp.second - temp.first > R - L) { temp = {L, R}; } } if (temp == make_pair(-1, 1e9)) return ""; else return s.substr(temp.first, temp.second - temp.first + 1); } };
---分割线---
反思&故事会(无价值,可跳过):
1.反思:(划去)我反思个集贸(划去)读研好好沉淀吧
2.故事会省流版:末流211计算机科班大四,考研ZJU失败(换个中9都上了...)。用原来给考研复试准备的2个AI项目,春招海投各种岗(算法为主,主要想打磨下项目准备二战用)。简历被字节挂掉,但被捞起来了。没想到春招的第一次面试,居然是字节测开
(但一点不会测试
),喜提凉凉+脏面评大礼包
。最终选择调剂到上海某双非(字节面试前两天接了调剂offer)读研沉淀
3.bg补充:JAVA只会CRUD,八股基本不会,算法题尚可