字节生活服务三面(已oc)

### **一、项目深挖**
1. **项目技术亮点**  
   - **校园美食会项目**:基于Redis实现分布式锁解决超卖问题,使用乐观锁处理一人多单场景,通过双拦截器优化Token刷新逻辑。
   - **动态线程池组件**:基于Redis发布订阅机制实现线程池参数动态调整,结合定时任务上报核心参数。

2. **短信登录流程**  
   - 用户输入手机号→后端生成验证码并存储Redis(Key为手机号,Value为验证码)→调用阿里云短信服务发送→用户提交验证码后校验→未注册用户自动创建账号。

3. **Token刷新逻辑**  
   - 拦截器拦截所有请求,校验Token有效性后刷新Redis中Token的过期时间,保障用户持续活跃状态。

4. **分布式锁优化**  
   - 单机环境使用`synchronized`锁用户ID;分布式场景改用Redis实现可重入锁,通过Hash结构记录线程标识和重入次数。

---

### **二、基础技术问题**
1. **HTTP vs HTTPS**  
   - **HTTP问题**:明文传输存在安全风险(窃听、篡改)。  
   - **HTTPS优化**:通过SSL/TLS协议加密,结合非对称加密(证书验证)和对称加密(数据传输)提升安全性。

2. **跨域问题(CORS)**  
   - 跨域触发条件:协议、域名、端口不一致。解决方案未深入讨论,面试官提示需补充JSONP、CORS或反向代理等方案。

3. **ThreadLocal应用**  
   - 用于拦截器中用户信息传递,通过线程隔离的ThreadLocalMap存储数据,避免多线程竞争。

---

### **三、Redis相关**
1. **数据结构选择**  
   - Token存储使用String类型(Key为Token,Value为用户信息),设置过期时间实现自动清理。

2. **分布式锁实现**  
   - 通过Redis的SETNX命令和Lua脚本保证原子性,记录线程标识和重入次数支持可重入性。

---

### **四、MySQL与索引**
1. **联合索引最左匹配原则**  
   - **场景1**:`WHERE b=1 AND a=2`(联合索引(a,b,c))→ **命中索引**(优化器自动调整顺序)。  
   - **场景2**:`WHERE a>1 AND b=2` → **索引失效**(a范围查询后b无序)。  
   - **场景3**:`WHERE a=1 AND b>2` → **命中a、b索引**(a等值查询后b有序)。

2. **SQL执行顺序**  
   - 优先级:`FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY > LIMIT`。

---

### **五、网络与协议**
1. **WebSocket应用**  
   - 用于商家接单实时通知,对比HTTP轮询优势:长连接、低延迟、服务端主动推送。
这个地方被拷打了websocket底层实现以及如果用http来实现要websocket相同的功能要怎么实现?还问了服务端能向客户端发http请求吗?

---

### **六、反问环节**
- 候选人提问字节技术氛围,面试官简要介绍业务方向(未详细记录)。

---

### **评价与建议**
- **优势**:项目设计合理,对分布式锁、Token机制等场景理解较深。  
- **待提升**:跨域解决方案、服务端主动通知实现(如WebSocket底层机制)、索引失效场景判断需更严谨。  
- **面试难度**:中等偏上,侧重项目落地能力和底层原理。
全部评论
哥们,base哪里的
点赞 回复 分享
发布于 06-16 01:10 湖北
怎么感觉三面还行?
点赞 回复 分享
发布于 05-14 01:44 北京
老哥是春招还是实习
点赞 回复 分享
发布于 04-06 20:06 四川
三面也问了很多技术细节和八股呀
点赞 回复 分享
发布于 03-29 00:46 上海
兄弟你字节跳动是一个一个投的还是你只投了这个一个
点赞 回复 分享
发布于 03-23 19:30 河南
这是咋生成的,录音?
点赞 回复 分享
发布于 03-19 11:51 河南

相关推荐

06-28 18:18
已编辑
门头沟学院 Java
查看8道真题和解析
点赞 评论 收藏
分享
06-17 12:05
已编辑
南昌大学 Java
没想到我也能一周速通字节,javaer简历boss上被字节的测开捞了,项目是点评和rpc,之前0实习。简单说下时间线和面试内容吧,三面都是温柔的小姐姐,面试体验很好。总结来说基本没有问常规八股,都是围绕项目细节展开的场景问题,开放性问题,然后带一点八股。⌚️投递时间:5.28👋一面:6.9 40min1.自我介绍2.项目拷打(超卖问题怎么解决的,由此展开聊了很久,各种细节拷打)3.算法题:将长度为n的数组分成m个和相等的子数组,求m的最大值,非hot100原题,leetcode698有道类似的,只给了10分钟,时间有点短没完全写出来,本来感觉都凉了但还是放过我了,感恩。4.高考成绩如何实现排...
一笑而过2222:一、抖音App长期无响应原因分析 1. 客户端问题:App版本过旧存在兼容性缺陷或代码逻辑错误;本地缓存、用户数据损坏影响加载;手机系统版本低、硬件性能不足导致不兼容。 2. 网络问题:网络信号差、无网络或DNS解析失败;代理设置错误、企业网络拦截抖音域名。 3. 服务端问题:启动依赖的API响应慢、服务端故障;CDN静态资源下载超时。 4. 第三方依赖问题:广告、推送等SDK初始化异常;系统服务未启用或关键权限缺失。 5. 其他原因:系统时间错误、后台应用抢占资源;用户频繁点击启动图标引发冲突。 二、电商平台兑奖系统测试用例 1. 功能测试:验证正常兑换、积分不足、限量商品重复兑换、库存实时更新及兑换记录查询功能。 2. 兼容性测试:在不同操作系统、浏览器环境下,确保功能正常和UI适配。 3. 性能与安全测试:模拟高并发检验系统稳定性;测试接口防刷机制;防御SQL注入攻击。 4. 异常场景测试:覆盖断网、服务端数据回滚、奖品过期等异常情况处理。 5. 用户体验测试:评估兑换流程是否简洁,错误提示是否明确,页面加载速度是否达标。 三、扩展建议 使用Firebase Crashlytics等工具上报启动日志排查抖音无响应问题;针对兑奖系统进行压测,重点监控TPS、错误率及响应时间 。
查看14道真题和解析
点赞 评论 收藏
分享
评论
13
73
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务