虾皮后端实习二面面经
《面试题目》
面试时长:1小时
1. 项目拷打 针对候选人简历中的项目进行深入提问与细节深挖。
2. 场景题
- 9亿个IPv4地址如何进行去重?
- 去重后的数据如何高效查询?
- 是否存在内存瓶颈?如果有,该如何优化?
3. 工具应用
- 如何使用Claude Code,从部署到实际使用流程。
- 使用期间遇到的具体问题及解决方法。
- Claude Code的Skill标准结构(Markdown文件+3个文件夹的规范)。
4. 算法题
- 力扣简单题:使用两个栈实现队列。
《参考解析》
1. 9亿IPv4地址去重与查询: IPv4地址共有 $2^{32}$ 个(约42.9亿),9亿地址可用 Bitmap 存储(约112MB内存)。去重可使用 Bitmap 或布隆过滤器(Bloom Filter)。若要查询,可将 Bitmap 映射到内存;若需存储额外信息,可使用分片存储(Hash取模)到 Redis 或磁盘数据库中,结合 Bloom Filter 快速过滤无效查询,降低磁盘 I/O。
2. 两个栈实现队列:
设置两个栈,stack1负责入队(push),stack2负责出队(pop)。当stack2为空时,将stack1中的所有元素依次弹出并压入stack2,此时stack2的栈顶即为队首元素。复杂度为均摊 $O(1)$。
3. Claude Code工程实践: 重点在于强调“AI辅助编程的规范化”。回答时需体现如何通过AI提升开发效率,同时强调版本控制与规范(如定义的三个文件夹通常包含Prompt定义、工具接口定义、上下文上下文配置),展示你对AI工程化落地的思考。