海天同创后端日常实习一面面经
面试题目
- 自我介绍
- 人工智能专业,主修课程有哪些?有人工智能相关课程吗?
- 学过操作系统吗?
- 说一下虚拟内存的基础原理
- 逻辑地址如何转换成物理地址?
- 介绍一下你的AI RAG项目
- 文档按8000字符固定切分,会有硬切分问题,你怎么看?有什么优化想法?
- 一整段很长的文本怎么拆分?
- 这个项目是练习用的吗?
- 做这个项目遇到的最大问题是什么?
- 用的是哪个模型?
- 是把用户聊天记录直接转发到API吗?
- 项目是前后端分离吗?你负责哪部分?
- 介绍一下分布式即时通讯项目
- 项目用Web框架加WebSocket做什么?
- 如何实现多设备登录和离线消息?
- 离线消息具体怎么做的?
- MySQL读写分离是怎么做的?
- 主库和从库的数据一致性怎么保证?
- 主库和从库多久同步一次?
- 跨域问题怎么解决?项目里用的哪种方案?
- 前端和后端怎么通信、怎么配置部署?
- 有用过Nginx吗?
- 日常开发在Windows还是Linux?用什么开发工具?
- 用AI辅助编程是Agent模式还是Ask模式?
- AI模型对你写代码有冲击吗?会不会替代开发者?
- 说一下对Open Claw的看法
- 在哪个校区?通勤时间?一周能来几天?
- 什么时候毕业?
- 之后的职业规划是什么?考研还是工作?
- 期望薪资是多少?
- 了解我们公司是做什么的吗?
- 我们团队技术栈主要是Java,你对Java了解吗?
- 反问
参考解析
1. 虚拟内存原理与地址转换 虚拟内存将逻辑地址映射到物理地址,通过页表实现。逻辑地址通过分页机制,拆分为页号和页内偏移,页号查页表获取页框号,加上页内偏移量即得到物理地址。
2. RAG切分优化 硬切分会导致上下文语义截断。优化方案包括:使用递归字符分割器(按语义段落、句子拆分)、重叠切分(overlap保证上下文连贯)、或使用语义分块(基于embedding相似度计算切分点)。
3. MySQL读写分离与一致性 读写分离通常使用中间件(如ShardingSphere)或MySQL主从复制。一致性可以通过强制读主库、延迟读取(针对特定场景)或使用缓存标记位来保证。
4. 离线消息存储 离线消息通常在接收端下线时,将消息存入Redis或专门的离线消息表中。用户上线后通过心跳包或请求从数据库拉取未读消息记录,前端接收后标记已读。
5. WebSocket与跨域 WebSocket连接通过HTTP Upgrade请求握手。跨域问题通常在Nginx层配置CORS头,或在Web框架后端统一处理响应头中的Access-Control-Allow-Origin。