当前位置: 首页 > 面试经验 >

顺丰同城正式批面经

优质
小牛编辑
92浏览
2023-03-28

顺丰同城正式批面经

岗位

Java后端,base北京

一面

时间

2022/11/7

内容

  • 主要是问八股
  • 考了一道算法题
  • 其他提问

项目

  1. 你的项目挑一两个讲讲最大的收获
  2. 你对RPC的理解是什么
  3. 你的RPC框架有遇到什么困难,怎么解决的

八股

  1. 你对Spring aop的理解
  2. 动态代理和静态代理的区别
  3. mysql或者说数据库的锁有什么了解
  4. 系统运行过程出现慢sql,对该问题进行分析定位提出解决方法,你觉得有什么原因?
  5. mysql的索引分为哪些类
  6. 操作系统中的死锁指的是什么,有哪些必要条件
  7. 进程间的同步有哪几种方式
  8. 计网7层协议是什么
  9. tcp是哪一层的协议,跟udp的区别是什么
  10. ping指令是基于什么协议?假设同一台局域网下,A ping B,假如没ping通,有什么原因?
  11. 网络安全攻防你有了解吗?常见网络攻击方式、防范手段
  12. SQL注入是什么
  13. 排序算法的稳定性指的是什么
  14. 快排和堆排序是稳定的吗
  15. 不用+号,如何计算A+B的和,会用到哪些运算符?

算法

  1. 给一个奇数结点长度的链表,没有长度,如何得到链表中间结点值?说思路。

其他提问

  1. 你对于自己的职业生涯有什么规划?业务研发和大数据研发都可以吗?你偏向哪种?
  2. 你对大数据是否有兴趣呢?面试官说面了很多人第一次面到大数据专业的,意思是后端开发很多人竞争。
  3. 面试官说后端转大数据, 可能没有校招就大数据那么有优势。

后续

一面面试官本来打算帮我转到大数据岗试试的,但是没hc了,继续Java后端的流程。

二面

时间

2022/11/11

内容

  • 项目+算法+反问

项目

  1. 你的消息推送平台是以什么背景做的?有需求还是自己玩的。
  2. 通过这个项目你想了解什么东西?(DDD,面试官说DDD对于应届生来说远了)
  3. 你实习做了什么东西?(看到才2个月就不问了)
  4. 聊聊你的RPC框架吧。
  5. 你的RPC框架跟spring boot有什么关系?
  6. 你开发RPC框架最核心的模块,最关心的模块是什么呢?(我回答网络传输模块)
  7. 网络传输模块你选择了什么协议呢?
  8. 序列化你选择了什么方式?
  9. 你感觉对于一个RPC框架,最重要的是网络传输框架吗?有些RPC框架用的是http,你怎么看待?网络传输在整个传输的性能损耗中是影响最大的吗?
  10. 为什么RPC框架基于http不行呢?就像我访问百度可以用http一样。(回答了一堆但没抓住重点,面试官说效率方面没问题的,面试官认为RPC是解决分布式的问题,传输方面,什么都可以传输,RPC可能好一点)
  11. 你用zk做注册中心的目的是什么?
  12. 你的服务注册和服务发现的表示是什么?你怎么看待他们,为什么要有他们。(回答了分布式)
  13. 负载均衡算法,你默认的是什么。
  14. 比如说轮询算法你是怎么做的?
  15. 如果有一台单点故障了,你轮询的时候怎么屏蔽?你怎么把故障服务器从列表淘汰掉?
  16. 轮询跳过故障机器,恢复了它怎么办?跳过不是一个好方法?我想说服务降级。面试官说这方面交给zk去处理。
  17. MQ你用了kafka,你kafka怎么样才能不丢消息。(回答可靠性是依靠冗余机制和ack机制,但是面试官说这种问题可以背的没啥意思,就不问了)
  18. 你的消息推送平台的作用是什么?
  19. 你说说你的这几个技术栈,mysql、redis、kafka除了简历上写的,你还拿他们做了什么?
  20. 聊聊你的redis去重,为什么要去重?方式是什么?
  21. 一致性哈希出现碰撞怎么解决的?
  22. 如果出现了哈希碰撞,怎么处理的?
  23. 你说参考hashmap,他是怎么处理哈希碰撞的?(我说扩容机制应该不是解决减少哈希碰撞的问题吧)如果碰撞了会怎么样呢?
  24. 问一个实际的问题,你用了这么多技术,是在什么环境部署的,是怎么部署的。比如说你部署kafka的过程是怎么样的?你怎么解压、调参、怎么跟你的springboot项目做结合?你怎么真正地去部署这个项目,比如说你有个应用基于springboot开发,kafka是有服务端和客户端的,kafka服务端你是怎么部署的?怎么把你的业务项目和kafka怎么集成的?
  25. mysql你有没有分库分表的操作?
  26. 你的消息发送了,为什么还要存储到mysql呢?
  27. 你的消息发送链路是什么维度去记录的,用户维度还是操作维度?
  28. 如果以后你mysql的消息发送链路要分表,你以什么维度去分呢?

算法

1. 写三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组

输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]]

先说思路,再写代码。

几个月没写算法了,我说回溯,面试官说不对,用双指针。于是我敲出来了,但是我细节写错了。

2. 说归并排序的思路

聊天

  • 面试官叫我准备一下一些经典的面试题。
  • 下周有结果通知。
  • DDD的逻辑很复杂,实际的业务是很难维护的,加入你是领域专家,但是很多人都不是,所以难点在于落地。实际上不会完全按照DDD,实际都是根据实际场景去评估,最多只是按照DDD的理念去推广。大规模真正落地的不对。对于中台配合、微服务落地是有很好的指导意义的。
  • 我的项目太小了,我接触的业务理解太少了,谈不到DDD。越简单的东西是越好的,越复杂的东西是越高。架构在于取舍。
  • DDD由公司在持续落地,而且怎么评价它做得好也是很难定义的。
  • 对我的评价是整体还好,多看看基础算法题。
  • 今年校招竞争还是很激烈。
  • 北京顺丰这边的hc还充足吗?面试官说好像还可以,也不是很清楚。

三面

时间

2022/11/16

内容

  1. 前面几轮面试中,面试官问你的一些问题,你有没有印象比较深刻的?
  2. 抛开RPC不谈,你去怎么理解降级这个事情的?
  3. 你对降级的了解有什么补充吗?给异常情况做else分支,做这个事情其实在不同场景有不同的解决方案,你了解到的哪类场景可以用哪类方案去做降级这个事?你只说你了解的就好了或者。
  4. 你对前几轮的面试体验和面试流程,有没有什么建议?
  5. 你的实习经历,对你除了技术成长之外的其他帮助是什么?
  6. 你实习过,也见过团队的大概样子,你对第一份工作的团队、公司、工作内容等有什么预期呢?
  7. 如果摆在你面前由三个offer,也就是三个团队,你怎么判断哪个团队最符合你对上一个问题的答案?
  8. 你觉得顺丰同城是满足你一个问题的答案的吗?
  9. 你觉得什么样的领导是好领导?什么样的行为才算是PUA行为。
  10. 如果你未来的leader还是能做到你刚刚说的那些特点,那你就会认为他就是一个好的leader?
  11. 假设你的心理承受能力很强了,未来的团队工作中,你预期什么样的事情可能给你带来压力?
  12. 具体点吧,摆在你面前有三件事情,一是你的leader给了你一个你完全不知道怎么做的事情,但是你不得不做;二是你的leader近一年内不完全信任你;三是你身边有一个同事,你们互相不喜欢,但是你不得不跟他协作。这三个事情哪个让你压力最大?
  13. 你毕业后一年了,你希望你达到一个什么状态?
  14. java的泛型你了解吗?它有什么用?你在工程中有什么使用场景?
  15. 其他语言的泛型特性你有了解吗?
  16. 有人说java的泛型是一个假泛型,你听过吗?

反问

  1. 面试官是什么级别的人物:一部分顺丰同城的研发中心的(技术+团队管理)工作,成都和北京都有负责
  2. 入职的是您的团队吗?不是因为面试官是base成都
  3. 成都和北京还有hc吗?说既然在面试,那还是有的
  4. 成都和北京在技术和业务方面有什么区别吗?只是base地方不同而已,都是服务于一个统一的大盘业务。

结果

打电话问hr,挂了。

反正网上一堆大佬进了池子,听说也没hc了,哈哈哈,算是体验过中大厂的完整面试流程吧,知足了。

#面经##顺丰同城#
 类似资料: