8.30-虾皮-基础架构-二面
无自我介绍
上来就是做题
T1
长链接转短链接,写一个简要技术方案
要求:
-输入长链生成短链(唯一、可还原)
-查询短链是否存在
看完需求后直接说用两个哈希表存储,保证可以正确跳转并且可还原为长链
这时候面试官又说要抗高 QPS 和持久化存储
这种典型 KV 还要抗 QPS,肯定是上 Redis 了
持久化就是在 MySQL 建一张表存储长链和短链
又追问这个短链是如何生成的(这里也是我傻逼了,忘记还有生成这一步了)
想了想说用 MD5 哈希随机生成
然后又追问怎么限制短链再 20 字符内,能否直接截断哈希后的值?
答不行,这样很容易造成短链重复
又问短链重复如何解决
答通过再哈希生成一个新的短链
面试官不太满意,说数据量大了之后,可能导致一次生成要多次哈希
想了想非常有道理,答在短链头部添加一个 UUID,解决重复问题
终于把这题过了
T2
题目看图吧,懒得描述了
属于是看完就有思路的模拟题,但是不知道解法是不是好的
答按长度原数组做一次排序,长度短的在前面,然后开一个哈希表,遍历数组时先枚举当前路径的所有子路径在哈希表中是否存在,存在则跳过,不存在就将其插入哈希表,这样的时间复杂度是 NlogN
追问整体的时间复杂度呢?
答排序时是 NlogN,遍历时是 N,所以整体时间复杂度为 NlogN
然后说思路没问题,写一下代码吧
写的时候发现,/ 之后的字母个数是不确定的,我不知道怎么正确截取每一部分,面试官就让我写一个 TODO 函数,把整体的代码实现了就行
反问
了解到部门是做基础架构的,具体是做哪一部分呢?
有很多产品,计算、存储、网络、KV、Cache、框架、数据引擎,具体要看最后分到哪个产品
如果到虾皮,能参与哪些工作?
还是要看产品,不同产品做的事情不一样
虾皮内部对 AI 的鼓励程度?
很拥抱,公司给每个人都配备了 Cursor 账号,内部也会开发一些 Agent 以及 API GateWay
相较于其他候选人,有哪些改进点?
短时间暂时整理不出来,回头整理一下
若此轮能过,还有几轮技术面?
不确定,有可能直接是 HR 面
最后又是经典感谢你的时间
总结
感觉二面就是在考察思维逻辑了,不像一面会去问八股
应该是话说的最少的一场面试了,但是答得不好面试官也会引导,体验感不错
另外,面试官长得挺熊系的
更新
9.2 收到感谢信
#秋招笔面试记录#
上来就是做题
T1
长链接转短链接,写一个简要技术方案
要求:
-输入长链生成短链(唯一、可还原)
-查询短链是否存在
看完需求后直接说用两个哈希表存储,保证可以正确跳转并且可还原为长链
这时候面试官又说要抗高 QPS 和持久化存储
这种典型 KV 还要抗 QPS,肯定是上 Redis 了
持久化就是在 MySQL 建一张表存储长链和短链
又追问这个短链是如何生成的(这里也是我傻逼了,忘记还有生成这一步了)
想了想说用 MD5 哈希随机生成
然后又追问怎么限制短链再 20 字符内,能否直接截断哈希后的值?
答不行,这样很容易造成短链重复
又问短链重复如何解决
答通过再哈希生成一个新的短链
面试官不太满意,说数据量大了之后,可能导致一次生成要多次哈希
想了想非常有道理,答在短链头部添加一个 UUID,解决重复问题
终于把这题过了
T2
题目看图吧,懒得描述了
属于是看完就有思路的模拟题,但是不知道解法是不是好的
答按长度原数组做一次排序,长度短的在前面,然后开一个哈希表,遍历数组时先枚举当前路径的所有子路径在哈希表中是否存在,存在则跳过,不存在就将其插入哈希表,这样的时间复杂度是 NlogN
追问整体的时间复杂度呢?
答排序时是 NlogN,遍历时是 N,所以整体时间复杂度为 NlogN
然后说思路没问题,写一下代码吧
写的时候发现,/ 之后的字母个数是不确定的,我不知道怎么正确截取每一部分,面试官就让我写一个 TODO 函数,把整体的代码实现了就行
反问
了解到部门是做基础架构的,具体是做哪一部分呢?
有很多产品,计算、存储、网络、KV、Cache、框架、数据引擎,具体要看最后分到哪个产品
如果到虾皮,能参与哪些工作?
还是要看产品,不同产品做的事情不一样
虾皮内部对 AI 的鼓励程度?
很拥抱,公司给每个人都配备了 Cursor 账号,内部也会开发一些 Agent 以及 API GateWay
相较于其他候选人,有哪些改进点?
短时间暂时整理不出来,回头整理一下
若此轮能过,还有几轮技术面?
不确定,有可能直接是 HR 面
最后又是经典感谢你的时间
总结
感觉二面就是在考察思维逻辑了,不像一面会去问八股
应该是话说的最少的一场面试了,但是答得不好面试官也会引导,体验感不错
另外,面试官长得挺熊系的
更新
9.2 收到感谢信
#秋招笔面试记录#
全部评论
同面试官,同题目,同部门
佬,怎么知道有没有通过一面呢,昨天刚面试完,许愿
手撕题有点像前缀树,定义一个假根节点,遍历路径数组构建前缀树,每个点记录被访问的次数。输出就是从假根节点出发,深度遍历树,如果节点的访问次数大于1,就加入路径中,到访问次数为1到节点或者叶子节点就找到一条路径。(不知道对不对)
相关推荐
09-02 12:09
郑州大学 后端工程师 

点赞 评论 收藏
分享

点赞 评论 收藏
分享
小肥罗:你爱字节跳动是吧,腾讯,阿里:我们不要你

点赞 评论 收藏
分享