大厂面试----黑马点评项目面试过程中可能遇到的问题整理

参考链接: 链接1 黑马点评项目复习笔记_牛客网

链接2: 【黑马点评】面试可能被问整理_黑马点评面试问题-CSDN博客

链接3: 数据库和缓存如何保证一致性? | 小林coding (xiaolincoding.com)

链接4: 如何针对项目中的技术难点准备面试?——黑马点评为例_在项目中遇到难点是如何处理 java面试-CSDN博客

链接5:【黑马点评】面试题总结(通俗易懂版)_黑马点评面试问题-CSDN博客

一. 登录注册部分:

  1. 登录注册逻辑
    (1) 如何通过Rediss实现登录
    (2) 基于Session实现登录流程(这里附带可以问下,cookie和令牌等知识)(链接2)
    (3) 如何解决集群的session共享问题?(链接2)
  2. 登录校验器如何实现?
    (1) 登录二级校验,以及拦截器如何实现(链接2)
    (2) 登录状态如何保持刷新?( 链接1)

二. 商铺查询等相关
3. Rediss缓存方面, 涉及到缓存更新,穿透,击穿,雪崩概念以及各自解决思路
(1) 为什么缓存用redis不用mysql,怎么做的技术选项
(2) 为什么用缓存,缓存如何更新(链接2),以及保持与数据集一致性(链接3)
(3) 缓存雪崩定义,缓存雪崩处理策略(链接2)
(4) 缓存击穿定义与策略(链接2)
(5) 缓存穿透与策略(链接2)
三. 优惠卷秒杀部分
4. 热点Key如何设置(全局唯一ID)
(1)如何定义与设置热点KEY,它使用哪种数据结构
5. 超卖问题如何解决(乐观锁)
(1) 超卖解决的整体逻辑
(2) 超卖问题为什么放在redis中判断
(3) 乐观锁定义与解决超卖问题的具体设计
6. 一人一单如何设计
(1) 创建订单失败怎么处理?
7. 集群下线程并发问题: 基于Redis的分布式锁,分布式锁原子性问题(Lua脚本),引入Redission提到自制分布式锁
(1) 如果用mysql做秒杀,数据库出现幻读怎么解决
(2) redision锁如何判断是需要同步的线程
(3) 项目中为什么使用了Redission分布式锁
(4) redis锁误删现象定义与解决方案(链接4和链接5)
(5) 如何自定义分布式锁,自定义分布式锁有啥问题?(链接4)
(6) Redission分布式锁出现死锁的情况,以及Redission可重入设计思路
8. 秒杀优化思路: 异步秒杀—阻塞问题队列—RQ消息队列(List流,PubSub流, Stream流)

四. 关注与点赞部分
9. 关注与取关,互关
10. 点赞排行涉及
11. 优化点在排行榜,实现实时的热榜(链接1)
12. 推送:基于Feed实现推流功能

五. 附近商铺与签到问题
14. 基于GEO数据的附件商铺
15. 基于BitMap的用户签到
16. 基于HyperLogLog的UV数据统计

六. 博客加载部分
1.如何对博客表垂直拆表,线程池并行加载博客(链接1)
七. 项目中遇到的最大问题是什么,怎么解决的

八. 其他延申问题
17. 简述异步秒杀整体工作流程。(先业务大致逻辑介绍;相关数据库表结构介绍;难点以及解决方案介绍;按照代码实现过程进行对各个步骤进行阐述;未来展望和再次迭代)(链接4是一个详细案例)
18. 项目整体介绍案例(美团首次面试项目话术1——黑马点评篇-CSDN博客)
19. 项目执行细节总结:Ethan Yankang 这个博主有总结

### 黑马点评公司面试经验与题目 #### 功能测试中的错误推测法应用 在功能测试过程中,错误推测法是一种基于经验和直觉来预测并检测潜在问题的方法[^1]。这种方法特别适用于那些难以通过常规手段发现的边缘情况或特殊输入条件下的缺陷。 对于仿大众点评这样的复杂应用程序而言,在实现诸如优惠券秒杀、好友关注、点赞评论以及查找周边娱乐设施等功能模块时,采用错误推测法可以帮助识别可能存在的逻辑漏洞和服务异常状况。例如: - 测试不同网络环境下发起秒杀请求是否会超时; - 尝试向服务器提交非法数据格式的好友关系建立申请; - 对于大量并发用户的点赞操作执行压力测试; 这些都属于利用个人专业知识和技术敏感度来进行针对性排查的有效方式之一。 #### 实际项目经历分享 在一个具体的案例中提到过这样一个评价类平台项目的开发工作,其中涵盖了多个核心业务流程的设计与实施[^2]。具体来说,该项目不仅完成了基本的信息展示和交互设计,还增加了社交属性较强的互动环节(比如用户之间的相互关联),同时也引入了一些促销机制以吸引更多流量访问网站。 为了确保各个部分都能正常运作并且用户体验良好,团队成员们在整个周期内持续优化和完善产品特性,这期间经历了多次迭代更新,并且针对遇到的技术难题进行了深入探讨和解决[^3]。 #### 使用工具辅助接口调试 当涉及到API级别的联调阶段时,Postman成为了不可或缺的帮助者。它允许开发者轻松构建HTTP请求并将参数传递给远程服务端口,随后能够直观地观察返回的数据包结构及其携带的内容详情。借助这一可视化界面,工程师可以快速定位到任何不符合预期的行为模式,并据此调整前端代码或者后台算法直至达到理想效果[^4]。 ```bash curl -X GET https://api.example.com/v1/reviews \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" ``` 上述命令展示了如何使用`curl`命令行工具模拟GET类型的HTTP请求获取特定资源列表,而类似的实践同样可以在图形化界面上完成配置过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值