欢聚集团shopline测开二面

这个问题的话基本上也是根据业务场景深挖,然后一些性能场景,如果有问题 怎么根因分析,然后问了一个八股问题,就是full gc和young gc的问题,这个jvm的我都没背多少,然后被问到了,然后我说了一下常见的垃圾回收机制,然后还问了一下怎么sql分页进行查询。这一块儿我也不知道,然后的话问了一下怎么对风控场景进行校验,然后如果说对线上问题的解决,然后定时巡检做了哪些工作,基本上还是一些业务场景的询问,然后八股相对来说少一些,基本上还是问你的简历,然后有一些前端知识的了解什么的,然后还问了一下怎么做一些场景设计,如果说遇到一些消息丢失,消息重复,消息有序性的这些业务场景的校验。然后问我会不会go,这个go确实不会。然后问了一下我的期望薪资,然后我说了一下我的期望,最后我反问,问了一下。电商业务的战略规划以及测试的空缺需求,以及稳定性怎么样,然后他也问了一下我能不能接受广州。最后我还是表达了一下我的意向,还是挺想去的。还问了下装饰器 印象深刻的 有成就感的bug  能接受的工作强度
全部评论
加油,祝好运🙏
1 回复 分享
发布于 2025-06-17 18:22 广东
欢聚的校招能有20k+吗,如果有的话,广州还是很舒服的
1 回复 分享
发布于 2025-06-17 16:31 湖北
技术问题简要回答 1. Full GC 和 Young GC 的区别 - Young GC:针对新生代(Eden+Survivor),回收存活时间短的对象,频率高、耗时短。 - Full GC:针对整个堆(新生代+老年代),回收存活时间长的对象,触发条件包括老年代空间不足、永久代(元空间)溢出等,频率低、耗时长,应尽量减少。 2. SQL 分页查询实现 - 基础方式: LIMIT offset, size (如  SELECT * FROM table LIMIT 100, 20  表示从第101条开始取20条)。 - 优化场景: - 大偏移量(如  LIMIT 10000, 20 )时性能差,可通过子查询或主键定位优化,例如:  SELECT * FROM table WHERE id > 10000 LIMIT 20 。 3. 风控场景校验逻辑 - 核心维度:用户行为(如登录频率、交易地点变化)、设备指纹(终端唯一性)、交易特征(金额阈值、频次)、历史黑名单等。 - 实现方式:规则引擎(预定义阈值)+ 机器学习(异常检测模型),实时拦截高风险请求。 4. 线上问题根因分析流程 1. 复现与定位:通过日志(ERROR堆栈)、监控指标(CPU/内存/接口耗时)确定问题模块。 2. 排查方向:代码逻辑错误、资源瓶颈(如数据库连接池满)、配置错误(如超时参数)、外部依赖故障。 3. 临时解决方案:降级非核心功能、重启服务、调整参数;长期方案需修改代码或优化架构。 5. 定时巡检工作内容 - 系统状态:服务器CPU/内存/磁盘使用率、JVM垃圾回收频率、数据库慢查询日志。 - 服务健康:接口成功率、消息队列积压量、缓存命中率。 - 数据一致性:定时对账(如订单状态与支付状态匹配),异常时触发告警。 6. 消息队列场景设计(丢失/重复/有序性) - 防丢失:生产者 acks=all +重试,消费者手动提交偏移量; - 防重复:生产者幂等性+事务,消费者业务层去重(如唯一订单号); - 有序性:同一业务ID的消息发送到同一分区,消费者单线程处理该分区消息。
1 回复 分享
发布于 2025-06-17 16:25 广东
mark学习了
点赞 回复 分享
发布于 2025-06-18 09:49 北京
我之前实习就在shopline测开的,入职的话是做哪个域来着
点赞 回复 分享
发布于 2025-06-18 00:08 广东
白薯哥加油
点赞 回复 分享
发布于 2025-06-17 19:05 江苏
大佬
点赞 回复 分享
发布于 2025-06-17 16:10 山东

相关推荐

2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
评论
7
6
分享

创作者周榜

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