搜狐——搜索部门一面

面试官人超好,慢慢引导我,给我反馈,不会的点都会跟我讲。

时长1h26min

算法题:

  • 无重复的最长字串
  • A 集合包含 B集合,求 B集合元素在A集合的位置 A:[1,2,3,4,5,6] B:[1,2,3,4]
  • map集合如果 A 集合有序且非常大,那么使用二分、插入排序优化

八股,逮着简历开问:

JVM

  • 内存结构
  • 说说内存结构堆里有啥、栈存啥栈帧里存放什么东西
  • 垃圾回收机制
  • 了解哪些垃圾回收器——CMS和G1
  • CMS
  • 回收过程
  • 为什么STW,会发生什么问题
  • 优点
  • G1和CMS有什么不同
  • G1的优势,可以根据 regin 预判回收

JUC

  • synchronized 1.8和1.7有什么不同
  • 底层的锁不是由c++写的,由JVM内部去实现的,锁
  • 说说并发的理解,原子性、可见性、有序性
  • volatile怎么保证有序性
  • volatile 读写锁
  • 线程池常见的几种队列
  • 无界的队列如果一直放入线程,会不会发生 OOM
  • 说说cas
  • cas 和 synchronized 的区别
  • cas 产生的问题,链路风暴

框架

  • Spring SpringMVC Spring Boot 有什么区别
  • SpringMvc 和 Spring Boot 有什么不同
  • MyBatis 和 JDBC 的区别
  • 线程池
  • 二级缓存
  • 如果在MyBatis中不用缓存,还想到哪种方式实现,回答map缓存,出现OOM风险

Redis

  • Redis会有并发吗
  • Redis主从复制、哨兵机制怎么实现的
  • 有什么问题,脑裂问题、数据不一致问题
  • Redis内存淘汰策略

MySQl

  • MySQL
  • 怎么调优?日志 + 索引
  • B+树和B树区别
  • B+树作了什么优化
  • B+树能存多少数据
  • MySQL最大能承受的并发数

计算机网络

  • TCP和UDP区别
  • TCP怎么保证可靠性
    • 三次握手、四次挥手
    • 四次挥手可以同时握手吗?可以的
  • 2MSL有什么用

Docker

  • Docker的优点和Linux部署的优势,可以不虚拟操作系统

项目

  • 缓存穿透、缓存击穿、缓存雪崩缓存穿透用什么保证
  • 布隆过滤器原理,
  • 可以逆向操作吗
  • 布隆过滤器缺点,误杀
  • lua脚本是什么东西
  • RocketMQ创建订单
  • 算法刷了几道,有什么心得

反问:

  • 一共有几面
  • 给我的建议
  • 对算法无用论的看法
#你觉得今年春招回暖了吗##面经#
全部评论
这真的是有种伯乐的感觉啊
1 回复 分享
发布于 2023-03-19 21:36 江西
不是三握四挥吗 然后请问lz mysql最大并发数怎么说的?还有就是四次挥手的时候可以握手吗?
1 回复 分享
发布于 2023-03-17 23:25 四川
搜狐的搜索部门是不是搜狐浏览器??
点赞 回复 分享
发布于 2023-03-19 21:06 湖北

相关推荐

各位前辈好,先说声抱歉,可能又是一篇“求骂醒”的帖子,但我真的需要一个方向。我的情况比大多数人都糟糕:双非软件工程,大四,马上毕业了,0实习经历,0工作经验。秋招根本没参加,原因很傻——我一头扎进了一个自己觉得“挺有意思”的项目里,天真的以为把项目做好工作自然会找上门。现在春招也快结束了,我才如梦初醒,发现简历投出去基本石沉大海。我没有什么能拿出手的背景,唯一能说的就是这个从后端到前端全栈独立开发的电影推荐平台。我知道在各位前辈眼里这大概率就是个小玩具,但我确实是下了功夫去琢磨的,它不是什么网上扒的代码,下面这些是我自己琢磨并落地的东西:项目概况:Spring Boot + MyBatis-Plus + Redis + JWT + MySQL + Vue3(前端是AI辅助生成的)我自己觉得花了心思的几个点:1. 推荐算法落地:没有照搬别人的推荐逻辑。我是基于用户多维行为数据(评分、收藏、浏览时长)去计算标签权重,然后用“评分×log(热度+1)”的公式做加权排序;冷启动场景用热门数据兜底。推荐结果用Redis的ZSet缓存,用户行为一变化就主动删缓存触发重算。2. 缓存体系设计:不是那种“面试八股文背完就扔”的表面理解。我实际遇到了缓存穿透和击穿的问题,然后自己用空值缓存+逻辑过期去解决。热门电影定时预热、批量查询用multiGet减少IO次数,还封装了MyCacheUtils通用模板,让整个项目其他模块也能复用这套缓存逻辑。3. 并发与一致性:用Redis的SET NX EX实现了收藏/点赞的分布式锁,key精确到“用户+操作对象”级别,不是粗粒度的一锁全锁。异常回滚时Redis和MySQL数据一致性问题也思考并落地了。验证码的原子性校验用了Lua脚本来保证。4. 性能是真实数据:我用JMeter做了2000并发的压测,引入Redis缓存体系后,推荐接口平均响应从6466ms降到155ms,吞吐量翻了一倍,缓存命中率干到98%以上。这些数据不是编的,是我自己反复调优跑出来的。说实话,做完这些的时候,看着压测报告我是挺兴奋的,觉得“这也算出活儿了吧”。但现实是,0实习好像成了我简历上的原罪,很多公司直接筛选条件就把我过滤了。所以我想跪求各位前辈指点我几个问题,每一条我都认真看、认真执行:1. 关于简历:0实习的应届生,还有资格谈“项目亮点”吗?我这项目,是不是在专业面试官眼里就是一个“低配版培训项目”?如果这个项目还有救,该怎么在简历上呈现,才能让HR或者面试官至少愿意给我一个电话面试?如果没有,一个0实习的应届生到底该在简历上写什么?2. 关于面试:如何用项目细节证明“我虽然没实习但真的能干活”?我挺怕面试官看到我没有实习经历就直接失去兴趣。真到了面试那一步,我该怎么引导对话,用上面这些技术细节去对抗“没实习=没工程经验”的刻板印象?比如缓存那块,怎么从“我解决了击穿”讲出一个有技术判断力和工程思维的完整故事?3. 关于求职策略:错过了黄金窗口期,现在该冲什么样的公司?大厂我肯定不奢望了。现在这个时间点,我应该去投那些小公司和外包吗?要不要把薪资预期降到最低先入行再说?对于0实习的应届生,什么样的公司是真的有机会让我进去学技术、积累经验的?4. 关于未来:如果现在直接找不到工作,我该怎么办?这段时间我想好了,如果实在是找不到研发岗,我要不要去干测试或者运维先入行?还是找家小公司被压榨一年攒个经验?还是干脆先找个其他工作边干边学等下一轮秋招?我什么建议都能接受。我知道自己起步晚了,代价得自己扛。现在唯一能做的就是面对现实,然后找到一条最有可能逆袭的路。希望前辈们能给我指个方向,即使简单几句“没救了”或者“还能救,去做XXX”我都非常感激。
jiestart:这简历肯定没面试的,你得包装个实习再加一个agent项目才有希望
点赞 评论 收藏
分享
夏目LTH:这个真的很看运气,多投吧。我从去年十二月底一直投到现在,之前没一个offer,结果两周前投的一家面试官聊的特别好,直接速通offer还给的SP待遇开的比我期望都够。
我的求职进度条
点赞 评论 收藏
分享
评论
7
29
分享

创作者周榜

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