我的收藏
我的面经
Cresta 技术面经
ShawnSYX
2天前发布
论坛原帖
面试过程及内容
首先感谢朋友的内推。 总体面试下来,感觉Cresta的人都很专业,不会像某些群体上来问“how do you rate your python skill, from 0-10"。因为整个面试(尽管最后挂了)算是一气呵成,我大概都讲了吧。这四场面试的都是华人,基本都非常nice。 1st : HR or Manger面试 30分钟 2nd: 技术面 Practical Coding   1小时 3rd: 技术面 * 3 3.1 Practical Coding   1小时 3.2 Algorithm & Datastructure   1小时 3.3 System Design  1小时 因为挂在了3.2 所以还是没有System Desgin的经验 面的岗位是 MLE,但是和 第一轮的Manager聊后不是特别匹配,他和HR超级nice地把其他组推荐给我并且直接进入第二轮的技术面。面试官小哥能根据我的回答提纲挈领地整理信息,然后最后总结并且能引导我。强者光环隔着屏幕就可以感受到。 2nd-技术面-practical coding:就是根据注释写一个rate limiter。面试小哥人超级无敌nice,然后在我不太熟悉(把问题复杂化了)的时候会耐心引导解释,其实基本上就是实现一个 Fixed Window Counter的 Rate limiter。大家可以参考这个链接 Rate Limiting Algorithms Explained with Code。在提示下勉强写出来了。第二天晚上就发了下一轮的邀请 3rd-技术面-practical coding:比较有意思。面试小哥也特别特别nice。模拟一个Pull Request的code review。比如我抽到的场景是:有一堆虚拟资源,然后在特定时间段会被占用处理任务,处理任务有一些规则。然后有个员工某次发现了这个处理任务的效率异常缓慢,然后写了个PR进行分析。然后我就要去Review 这个PR。 可以说的地方很多:(1)代码规范问题 (注释呀 变量名取名)(2)因为我面的是python,所以我会建议某些方法改成某个类的,就是根据面向对象编程的思路 (3)很重要的一点,也是我复盘没有做的特别好的:就是代码会有一些逻辑错误,一定要理解业务逻辑同时也要细心。比如一个方法的形式参数根本没被调用。再比如一些变量,根据业务逻辑命名,会有特定的调用数值的方式(举个例子,一个previous_value是要从现有的或者从前的list读取,而不是new一个新的,在新的循环里处理)。我发现了一些但是没有全部发现。 3rd-Algorithm&DataStructure。 题目基本就是LC56区间合并的变体。就是给定若干时间段(表示某段时间内有 conversation),求没有 conversation 的总时长。 输入: snippets = List[Tuple[int, int]] 复制代码 输出: no_conversation_time: int 复制代码 但是第一眼瞅过去,脑子却直接联想为“用差分数组标记某些区间,然后在未标记的区间内求时长”。在面对很稀疏(或者间距特别大的数据)的测试样例时会超时,然后其实这算是我这两三年第一次正儿八经面leetcode类似的题,所以自己手很生,也没特别主动想到一些刁钻的edge case。尽管过了给的测试样例和一些基本的,但是面试官小姐姐一针见血看出了这个问题。在最后由于时间问题我没来得及优化(按照区间合并的正规写法)。 补充下大概正确思路: 去重(可选)、排序、合并区间并且在两个不相邻区间求差值 (代表no conversation)、计算占用时间总和 然后最后一场面了6天后给了拒信。 希望能给大家带来一些参考和帮助。
作者设置了浏览限制
“评论/点赞”
后即可查看完整内容
申请信息
项目/专业
MScAC
面试时间
日期
2025-05-12
讨论
😀
😁
😆
😅
😂
😉
😍
🥰
😋
😜
🤪
😎
🤩
🥳
😔
🙁
😭
😡
😳
🤗
🤔
🤭
🤫
😯
😵
🙄
🥴
🤢
🤑
🤠
👌
✌️
🤟
🤘
🤙
👍
👎
👏
🤝
🙏
💪
❤️
💔
🌹
🥀
🎉
🎁
🧧
🌙
🌍
💌
📬
🚗
🚕
🚲
🛵
🚀
🚁
🚢
🍎
🍐
🍊
🍉
🍓
🍑
🍔
🍟
🍕
🥪
🍜
🍡
🍨
🍦
🎂
🍰
🍭
🍿
🍩
🧃
🍹
最多可上传1张图片,支持在输入框中直接粘贴图片。
发送
手机查看该面经
1
0