📌顺丰秋招面试题整理
- 1、顺丰同城Java 北京
- 2、顺丰同城
- 3、顺丰同城测开
- 4、顺丰科技一面
- 5、顺丰终面 java 9.22
- 6、顺丰科技二面凉经
- 7、顺丰科技-后端开发工程师 三面面经
- 8、顺丰 深圳
- 9、顺丰
- 10、顺丰集团 2022.9.8
- 11、顺丰科技一面二面java
- 12、顺丰科技一面Java
- 13、顺丰科技 武汉 Java 09.05 0.5h
- 14、顺丰科技 Java 武汉 09.13 二面 25min 已凉
- 15、顺丰速运 Java开发2023校招一面
- 16、顺丰一二+主管面
- 17、顺丰Java一面二面
- 18、顺丰 终面
- 19、顺丰面经
- 20、顺丰
- 21、顺丰一面面经:
- 22、9.15顺丰Java开发二面(35min)
- 23、2022.9.9 顺丰一面
- 24、9.16 顺丰二面凉经
- 25、顺丰科技集团
- 26、顺丰科技
- 27、顺丰一面 二面
Java后端各科最全八股自用整理,获取方式见
:
1、顺丰同城Java 北京
作者:2019072422
链接:https://www.nowcoder.com/discuss/1045792
来源:牛客网
2022.09.08 一面
1.自我介绍,对java语言是否会有排斥?主要做数据库?
2.事务隔离级别
3.索引是否使用过,都有哪些索引,认为一个sql慢的标准是什么,是怎么分析的
4.项目
5.是否有了解过map - reduce的原理
6.是否学习过kafka,简述kafka的应用?
7.如何快速上手一门新的语言,大概需要多少天
8.都看过哪些技术类的书籍
9.怎么设计一张数据库表,数据类型如何进行选择(举例:身份证号),如何查询
10.索引为什么不是建的越多越好?(维护成本 + 存储空间)
11.对go垃圾回收的理解
12.对go协程的理解, 协程和线程的区别
13.协程轻量在哪里 ? 从内存资源方面考虑
14.是否了解过一些缓存方面的技术,对Redis有什么了解?为什么要使用单线程?
15.反问?觉得自己今天的表现怎么样
2022.09.16二面
一二面是同一个面试官
1.是否对上次的问题进行总结
2.协程与线程的区别,从内存和生命周期角度考虑
3.mysql的字符集,为什么要有多种字符集,区别是什么
4.索引失效的场景
5.索引为什么不是越多越好,维护索引的成本?
kpi了,直接说不通过
2、顺丰同城
一面
方式:线上视频面试(全时云会议)
时间:2月11日 14:00
时长:40+分钟
结果:(当天晚上出结果)通过
Q1:自我介绍
Q2:算法(递归和非递归的写法)NC13 二叉树的最大深度
Q3:算法NC61 两数之和
Q5:Redis的数据类型和使用场景
Q6:Redis是单线程还是多线程的?为什么快?
Redis是一个高性能的分布式缓存中间件。其复杂性不言而喻,对于Redis整体而言肯定不是只有一个线程。我们常说的Redis是单线程,主要是指 Redis 在网络 IO和键值对读写是采用一个线程来完成的,这也是 Redis 对外提供键值存储服务的核心流程。但对于 Redis 的其他功能来说,比如持久化、异步删除、集群数据同步等,其实都是由额外的线程执行的。``
单线程的优势:
- 使用单线程可以避免频繁的上下文切换
- Redis 中有各种类型的数据操作,甚至包括一些事务处理,如果采用多线程,还可能因为加锁导致软件复杂度提升,更有可能会因为加解锁,甚至出现死锁,造成的性能损耗,所以使用单线程反而性能会更好``
单线程的劣势:
- 无法发挥多核CPU的优势
- 当删除大建,会导致服务阻塞``
- QPS达到瓶颈
Q7:(操作系统)说说进程和线程
Q8:(操作系统)说说操作系统的堆和栈
3、顺丰同城测开
一面 49min
作者:求个大厂offer吧求求
链接:https://www.nowcoder.com/discuss/936593
来源:牛客网
1、自我介绍
2、介绍一下实习负责的内容
3、怎么去做测试的
4、测试的流程是怎么样的?
5、发现bug,怎么让开发去做修改
6、有没有遇到过发现bug,研发认为不是bug,怎么解决的
7、除了功能,还做过其他方面的测试吗
8、Linux常用的命令
9、统计一个文件里有多少行包含某个关键词的话
10、跨服务器的文件传输,你觉得有什么?
11、查看磁盘还有多少容量
12、MySQL的索引有了解过吗
13、索引的缺点
14、事务的特性
15、写sql
16、发现bug之后怎么去做定位,有去分析过bug的原因吗
17、状态码有了解吗
18、页面现在有一个数据展示的不对,怎么去判断是前端问题还是后端问题
19、有了解过一些中间件的东西吗
20、输入url访问的全过程
21、测试的方法有了解哪些
22、有了解过白盒测试吗
23、用postman做了哪些事情?
24、手撕代码:两数之和
25、上传图片测试用例
26、为什么选择去从事测试?
二面 32min
1、自我介绍
2、在xx项目时遇到了什么问题或困难吗,然后你是怎么解决的
3、项目使用的api调用有什么限制吗
4、假如让你对你做的xx系统做测试,你觉得你都会测哪些方面?
5、打开某个页面,不仅是展示不正常,可能文字和图片覆盖,文字应该在左边但是跑到右边去了。向这种UI展示混乱,除了兼容性的问题,你还能想到其他的原因吗?
6、我想让你帮我执行一条case,就是某一个前端页面的标题,比如title这个字段,他是依赖于服务端的接口返回的,这个字段不应该超过5个字,超过的话有可能会引起前端展示混乱,我设计case的时候,肯定会设计一个bad case,就是超过5个字的情况,我想执行这个case,你能想到几种执行的方法?
7、你对bug的定义是什么样的?你提出的bug有哪些维度或哪些元素?
8、web端和app端,功能实现一样的情况下,你觉得从测试的关注点上有什么不一样的地方吗?
9、编程题:有效的字母异位词
10、假如你是学生会体育部部长,让你组织一场学校的运动会,你觉得你会怎么做?
11、我觉得你说的有点太顺利了,就是感觉你做的这个方案都是不会出现任何错误的,你觉得事情都会按照你写的方案进行吗?
12、为什么不做开发,而考虑做测试工作呢?
13、反问
4、顺丰科技一面
作者:爱在桂子山
链接:https://www.nowcoder.com/discuss/1088983
来源:牛客网
一面(30min)
1、自我介绍
2、描述一下C++的继承和组合
3、宏函数和内联函数的区别
4、函数调用和函数退出在汇编上面做了一些什么东西
5、类中静态成员函数和非静态成员函数的区别
6、虚函数和纯虚函数之间有什么差别
7、C++中什么情况下会发生内存泄露,怎么规避
8、发生内存泄露后怎么进行排查
9、指针有什么优点和缺点
10、指针和引用有什么区别
11、描述一下C++工程,从文件到可执行程序的过程
12、自己写的C++工程怎么编译的,makefile,cmake
13、C++运行的结果和预期不一样,如何处理
14、自己写代码的时候有没有什么好的习惯
15、作为一个普通用户,描述一下如何使用项目
16、冒泡排序的过程
17、插入排序的过程,插入排序有什么地方可以优化的
18、自己实现一个智能指针如何实现
19、科研项目介绍一下
20、反问
部门业务:路径规划
反馈时间
建议:自我介绍再详细点
5、顺丰终面 java 9.22
作者:掷地有声
链接:https://www.nowcoder.com/discuss/1062016
来源:牛客网
全程不到半小时,我还以为面试官是HR,
直到他让我关于项目中中间件的内容深入讲一下。
怎么三面还是技术!,难道是一面太烂了。
之后对于两种场景下mq和redis设计的题目。
答的比较流畅。没有手撕。
许愿oc
6、顺丰科技二面凉经
一面没有问技术问题,全在闲聊,没有参考价值。
面了十来家没遇到过问八股的,所以就没背八股了,没想到今天全问八股,g!!!
7、顺丰科技-后端开发工程师 三面面经
作者:天气之子
链接:https://www.nowcoder.com/discuss/1061014
来源:牛客网
9.9一面 20min
1.自我介绍
2.jdk和jre的区别?
3.并发和并行的区别?
4.进程和线程区别?
5.创建线程有哪几种方式?
6.线程有哪些状态(java)?
7.sleep和wait区别、线程run和start区别?
8.在java种怎么保证多线程安全?
9.什么叫死锁,如何检测死锁?
10.什么叫反射,展开来说说?
11.get和post请求区别?
12.什么是aop?
13.预防sql注入?
14.如何避免XSS攻击?
15.spring有哪些主要模块? spring和springmvc和springboot区别?
16.spring常用的注入方式?
9.16 号二面 20min
自我介绍
1.问了项目?
2.rpc相关问题?
3.反射是什么,讲讲你的理解?
4.5个数,最少需要比较多少次,才能找到其中位数? (很有趣的一道题,开始说了用大小堆,二分查找这些,当时没理解面试官问的是什么
9.21 号 HR面
1.学习方法?
2.兴趣爱好
3.手里有什么offer?
反问
9.30 已意向
作者:帷幄之影
链接:https://www.nowcoder.com/discuss/1046913
来源:牛客网
8、顺丰 深圳
9.8 顺丰一面
- 讲一下类加载的过程
- jvm的内存模型
- redis缓存穿透、缓存击穿和缓存雪崩
- 乐观锁和悲观锁的理解
- Spring的IoC和AOP的原理
- bean的生命周期
- 概况讲一下RPC框架实现了哪些部分(技术要点)
9.19 顺丰二面
作者:帷幄之影
链接:https://www.nowcoder.com/discuss/1057042
来源:牛客网
实习
- 实习负责的项目介绍
- 讲一下实习开发实际做了哪些部分
- QA问答、日志采集、用户自定义层级树
项目
优购商城
- 什么业务使用到了消息队列?
- 分布式事务的一致性、订单的自动取消
- 秒杀的流量削峰
- 首页三级分类缓存是如何实现的(缓存数据库一致性)
- 缓存击穿是什么?如何解决的
- Redission释放锁后如何通知获取不到锁同步队列中的线程?
rpc框架
- 自定义RPC协议是怎样的?
- 服务注册到ZooKeeper上的结构是怎样的
- 有没有实现RPC服务提供者掉线了修改ZooKeeper节点的功能?- 没有实现,提了一下如果要实现的解决方案
9.22 顺丰hr面
- 自我介绍一下,并自说一下自己的优势
- 为什么只实习了一个月呢
- 为什么后面不继续实习提升自己呢
- 使用三个关键词概括一下自己
- 如何选择公司呢,使用会从哪三个因素去选择公司?
- 有投递哪些公司,有哪些offer?
- 意向工作地点?
- 期望薪资?
9、顺丰
9.8(35min)一面
作者:感谢信收割机10086
链接:https://www.nowcoder.com/discuss/1045094
来源:牛客网
- 介绍下TCP
- TCP丢包的话怎么解决
- TCP怎么实现拥塞控制
- 二分查找(写的有些瑕疵,用的是System.out.print不是return,结果一直输出)
- 怎么实现优先队列
- 红黑树与堆做优先队列,好处与坏处
- 红黑树与堆的数据结构的优缺点(时间复杂度,查询等方面)
- linux了解吗
- Redis为什么快
- Redis数据类型
- sortedSet可以做优先队列吗,数据结构是什么样的
- Mysql遇到慢查询怎么排查,explain中有个type字段,是做什么的
- 进程与线程区别
- 进程与线程状态
- sleep会进入什么状态
- 反问
9.15 顺丰Java开发二面(35min)
作者:感谢信收割机10086
链接:https://www.nowcoder.com/discuss/1052890
来源:牛客网
- 介绍项目
- 分布式锁的使用
- 讲下java的int与Integer
- 讲一下hashmap,为什么扩容是2的倍数
- 介绍下jvm中的younggc与fullgc
- 对应的垃圾回收器或者你了解的垃圾回收器是什么
- 写下线程死锁场景(写了但是中间报错,没找出来,讲了讲思路)
- 介绍下聚簇索引
- 一个表能有多个聚簇索引吗
- 索引叶子节点是什么数据结构
- 联合索引了解吗,为什么会有最左匹配原则
- 讲下Innodb隔离级别
- 读已提交与可重复读区别
- 可重复读第一次select会生成readview,那么update会生成吗
- 介绍下redolog,binlog和undolog
- 讲下OSI七层模型
- 应用层协议有哪些
- tcp与udp区别
- 讲一下四次挥手
- 四次挥手客户端发送ACK后处于什么状态
- 介绍下tcp拥塞控制
- 算法 合并两个有序数组
面试官比较和蔼,面试体验良好
10、顺丰集团 2022.9.8
作者:Hardy618
链接:https://www.nowcoder.com/discuss/1045708
来源:牛客网
对线程安全,线程不安全的理解??
为什么CurrentHashMap是线程安全的?
乐观锁和悲观锁
死锁
线程池
MySql的主要引擎
Innodb和myISAM的区别,两个引擎对应使用的场景,比如插入,读,更新。
SQL的优化,慢查询优化。
索引失效的场景。
联合索引
redis的过期淘汰策列
Tcp在传输过程中有粘包,拆包的现象
Seesion和Cookie的区别,Session的传输有了解吗。
Session 怎么从客户端传到服务端。/Cookie和Session 怎么配合。
11、顺丰科技一面二面java
作者:Objection
链接:https://www.nowcoder.com/discuss/1045417
来源:牛客网
一面 9.8 17:30-18:00,
1.自我介绍
2.问项目相关(20min)
3.java用的是什么版本?(JDK1.8) java8新特性用的熟练吗?
4.项目里的索引怎么用的?联合索引需要注意什么?
5.你的职业规划是什么?
6.你非科班为什么要搞java,怎么平衡你的毕业论文,日常学习java遇到困难怎么解决?
7.对着项目出的场景题:你怎样保证负载均衡之后,假如有三个节点连接服务端,有一个结点挂了,重新连上来之后,怎样实现重新负载均衡?你的方法行不行?
8.知不知道顺丰在深圳哪里有办公大楼?
总结:抓着项目问,从头问到尾,细节之类的,还对着你项目出一个场景题,整体偏业务,最后问两个八股像是走流程。
9.17 14:30-14:52 二面
1.自我介绍
2.jvm堆内存结构?一个对象从创建到消亡的过程?
3.限流算法有哪些?讲一件原理。
4.项目中哪个问题最棘手,你是怎么解决的,对你有哪些帮助?
5.SpringCloud讲一讲原理。
6.联合索引中左右连接有啥区别?
7.三次握手的过程?
8.为什么想做java,你平常的爱好是什么?在实验室都做什么项目?
9.1-3年内你的技术规划是什么?你以后想往哪个方向发展?
反问:公司技术栈以及部门分工
还是spring全家桶那一套,公司部门分工保密。
总结:八股问的很少,就感觉纯聊天一样,22分钟结束战斗,面试官态度倒是挺好。希望不是KPI,许愿一个三面
12、顺丰科技一面Java
作者:孛欢
链接:https://www.nowcoder.com/discuss/1045316
来源:牛客网
9.8 15:30 面了大概半个小时
1.自我介绍
2.项目介绍
3.项目相关问题
开始八股
4.Map的实现类
5.HashMap介绍,put流程
6.1.7扩容死链具体描述整个过程:设定一个场景去回答,关键点就是线程冲突情况下进行链表迁移,e,next指针和头插法的一些问题。
7.redis保证高可用:主要说了数据不丢失和服务不中断,AOF,AOF重写,RDB,redis默认的RDB生成时机以及与AOF重写命令的冲突问题,写时复制,主从数据同步,复制积压缓冲区,复制缓冲区,哨兵机制,主从切换,脑裂问题等等,面试官一直在听没有打断。
总体来说问的问题不难,主要看回答的深度,面试官评价学的比较深没有浮于表面,看过源码。
许愿二面!
13、顺丰科技 武汉 Java 09.05 0.5h
作者:叶子与花(o-ωq)).oO困
链接:https://www.nowcoder.com/discuss/1040882
来源:牛客网
自我介绍,自己介绍项目讲了写啥,下面的问题大部分是围绕自己项目和技能点来问的,3min
日志管理使用的是什么原理,操作的原理(使用的是AOP)
使用注解来进行Aop时,哪些情况会出现注解也就是Aop失效的情况。(不清楚)
Redis的基本数据类型。
Redis怎么保持缓存一致性。
Reids怎么解决缓存击穿的问题(布隆过滤器)。
布隆过滤器和Hahsmap的区别(通过底层结构讲了两者的区别)。
集合有哪几种,你最熟悉的哪几种。
HashMap的put流程。
HashMap当中出现线程死锁的情况,可以讲一下具体流程么(jdk 1.7 头插法造成的)
JVM的内存模型。
数据库的ACID特性,以及隔离级别。
一条慢sql查询,你应该从那几个方面来看,并且进行优化(慢查询日志,索引)
sql的执行计划,你一般看那几个方面(是否走索引,那些索引,还有索引的长度)
面试官打算深入了解一下,问的是,你知道快照读和当前读么,我其实知道,我怕他问深了,没有回答!
TCP的三次握手和四次挥手。
使用UDP来进行实现TCP的协议,提供思路。(提到了http 1.3 的QUIC)
面试官没有为难我,没有问的很深,求二面?
二面链接:https://www.nowcoder.com/discuss/1049387
14、顺丰科技 Java 武汉 09.13 二面 25min 已凉
作者:叶子与花(o-ωq)).oO困
链接:https://www.nowcoder.com/discuss/1049387
来源:牛客网
首先开始介绍项目,大概3~4min
项目优化的一个考虑(这个是我自己项目当中含有的,简历当中提到了)
我看到你这里做了一个关于日志管理是怎么实现的(AOP)
你了解不了解Futrue,我以为是多线程的Future类,开始叭叭叭,他说不是,是一种拦截器,可以下去了解一下,难道是我听错了,查了一下没有,只有intercepter,可是他没有发出两个音节,我听成了futrue
然后在你这个工作学习当中,你觉得最值得骄傲的事情是什么(权限管理脚手架)
职业规划是什么
除了会使用Java,还有其他语言么,其他语言来做过东西么
线程池了解么。
遇到线程安全的情况,你是怎么考虑的
这次提前进去的,不知道是不是KPI面试,面试官有点疲惫。希望有三面!!!
15、顺丰速运 Java开发2023校招一面
作者:DuckFlew
链接:https://www.nowcoder.com/discuss/999202
来源:牛客网
面试官正好是校友 运气不错
介绍一下项目的设计
mysql的事务隔离级别
慢查询如何优化
如何解决幻读(MVCC)
索引失效如何排查?
索引的数据结构
B+树的优点 为什么要用b+树
项目中如何查看mysql日志
redis主要做什么,答缓存 缓存击穿如何解决
Redis常用的数据结构,Zset主要用来存储什么?
RabbitMq和kafka 区别是什么?
kafka主要用在什么场景
Kafka如何传递一个有序队列
Java常用的集合类
HashMap和ConrurrentHashMap在扩容上有什么区别
Linux常用命令
如何创建软链接
作者:shgang97
链接:https://www.nowcoder.com/discuss/842440
来源:牛客网
16、顺丰一二+主管面
作者:拒绝996的哈里很胆小
链接:https://www.nowcoder.com/discuss/1079141
来源:牛客网
顺丰约面的速度还是挺快的
一面:10月12 时常45分钟
面试官说最近在研究redis组件相关的,我俩根据我项目,讨论了关于redis相关 :30分钟
手写单列设计模式:饿汉模式,双重校验锁
算法题:最长不重复子串
二面:10月17 40分钟
聊了聊实习,后面就是常规八股
mysql:隔离级别、索引相关和优化
java的类加载机制、自定义类加载器的使用场景
threadlocal的原理
JVM:G1垃圾收集器、GC调优
多线程锁方面基础八股
还有一些其他比较琐碎的基础知识
算法题:常规的二叉树层序遍历
主管面:11月20 30分钟
主管面基本没问啥基础知识,都是一些比较开放的问题
问些职业规划、怎样解决问题巴拉巴拉的
自我感觉回答的一般
等最终结果把,希望好运
17、顺丰Java一面二面
作者:阿西莱夫特
链接:https://www.nowcoder.com/discuss/1056675
来源:牛客网
9.9一面25mins
- 自我介绍
- 项目介绍
- 前端用什么框架
- 支付双方的校验?
- HTTPS效率降低,怎么优化?
- Netty的优点?
- Netty哪些网络协议?
- Netty的线程模型
- Bossgroup线程设置多少线程
- Netty线程组默认多少线程?NioEventLoopGroup默认创建的线程数是cpu核心数 * 2
- 心跳机制如何实现?
- 序列化如何实现?
- RPC中输出日志怎么方便打印?责任链模式
- Java操作符的短路操作?
- 反问?
几乎没有八股,都是项目问题
9.19 二面20mins 没有自我介绍
- 问实习,答得不好(15mins)
- 如何优化慢sql
- 为什么企业不建议用join
- 怎么保证线程安全?
- MVCC?
- 反问?面试官让我不要焦虑,二面就20mins,难受。
作者:leeee1
链接:https://www.nowcoder.com/discuss/1061394
来源:牛客网
18、顺丰 终面
9.8 一面30分钟
主要问项目和一些代码演示
9.17 二面
面试官一直问很难的问题,结果问了十七分钟就说面试结束了,我都感觉凉凉了
9.22号收到终面通知??
顺丰的池子是不是深不见底啊兄弟们
而且看到有人说顺丰还有三面,官网上写的终面的话是hr面还是三面呀
顺丰 顺丰科技 java 面经 一面 二面 hr面
19、顺丰面经
作者:-HahaMonster
链接:https://www.nowcoder.com/discuss/1052731
来源:牛客网
顺丰面试一面:9.7
- 自我介绍
- 以太坊交易开发项目参与了整个流程开发吗
- 在项目开发中如何和同组人员进行协调沟通,确认需求的
- 项目中用到了Mysql数据库,有多少张表数据,如何设计表单数据的
- 项目中如果要记录查询次数如何尽可能少改动代码记录查询次数
- 为什么选型Mysql
- 投递岗位是Java有什么和java开发相关的项目经验
- 反问环节。
顺丰二面:凉经9.15 【23min】
1.自我介绍
2.为什么投java开发,项目无java经验
3.职业规划
4.有论文经历 为什么选后端开发
5.介绍一下java 技术栈
6.redis和mysql区别
7.了解jvm吗
8.甚至无反问环节 凉凉
为什么丝毫不问我八股 这凉的太彻底了
20、顺丰
9.16顺丰二面 Java 40分钟
作者:掷地有声
链接:https://www.nowcoder.com/discuss/1053875
来源:牛客网
1.围绕项目,关于mq的内容
2.场景题设计:用redis设计延迟消息队列
3.手撕一道简单算法题,秒了
面试官特别好,会把他的理解都讲出来,场景题自己不专业,好多点没有考虑到。
关于2:将延迟任务加到Sorted Set,将延迟时间设为score;启动一个线程不断判断Sorted Set中第一个元素的score是否小于当前时间,如果小于,从Sorted Set中移除任务并添加到执行队列中;如果大于,进行短暂休眠后,重复上诉操作。
步骤(转):
在对于一个消息的创建进入Redis缓存之中,消息的元素的score设置为当前的时间戳或发布时间戳或过期时间。 开启执行轮询Redis的延时队列操作,获取队列的订单的标识,判断当前订单的score如果小于当前时间毫秒值,移除Redis队列中该消息。 一直重复上诉操作。
21、顺丰一面面经:
作者:请查收offer
链接:https://www.nowcoder.com/discuss/1044877
来源:牛客网
自我介绍
项目:登录功能是怎么实现的、点赞和收藏是怎么实现的,用到哪些技术
事务的隔离级别
快排是不是稳定的排序
拼接字符串的方式
SpringBoot用了哪些设计模式
http和https的区别
Redis为什么快
B+ 的优点
有了解哪些编程语言吗
本科的机器人比赛经历
学习Java的方式、书籍、视频
身边是不是很多机械同学也转码、有没有结伴的伙伴交流Java问题
反问:
22、9.15顺丰Java开发二面(35min)
作者:感谢信收割机10086
链接:https://www.nowcoder.com/discuss/1052890
来源:牛客网
- 介绍项目
- 分布式锁的使用
- 讲下java的int与Integer
- 讲一下hashmap,为什么扩容是2的倍数
- 介绍下jvm中的younggc与fullgc
- 对应的垃圾回收器或者你了解的垃圾回收器是什么
- 写下线程死锁场景(写了但是中间报错,没找出来,讲了讲思路)
- 介绍下聚簇索引
- 一个表能有多个聚簇索引吗
- 索引叶子节点是什么数据结构
- 联合索引了解吗,为什么会有最左匹配原则
- 讲下Innodb隔离级别
- 读已提交与可重复读区别
- 可重复读第一次select会生成readview,那么update会生成吗
- 介绍下redolog,binlog和undolog
- 讲下OSI七层模型
- 应用层协议有哪些
- tcp与udp区别
- 讲一下四次挥手
- 四次挥手客户端发送ACK后处于什么状态
- 介绍下tcp拥塞控制
- 算法 合并两个有序数组
面试官比较和蔼,面试体验良好
23、2022.9.9 顺丰一面
作者:knight/
链接:https://www.nowcoder.com/discuss/1078396
来源:牛客网
1、介绍MySQL索引(很笼统的问题,应该要从各个方面介绍,我只介绍了innodb的索引的底层数据结构)
2、spring在研发过程中承担的角色,解决了哪些问题(IOC和AOP,其实可以从JavaEE的三层架构来回答,spring在每一层都提供了解决方案,
- 表现层:spring MVC,
- 业务逻辑层:IOC,
- 数据访问层:spring的JDBCtemplate,
- AOP
- 整合其他框架
3、研发过程中用到了spring的哪些方面(只回答了IOC和AOP)
4、手写单例模式的实现(当时不会,下来学习了,结果后面的招银面试也面到了,所以面试查漏补缺很重要!!!)
5、手写排序算法(写了快排!随机基准数排序版本,写了一个change函数,交换两个数的位置)
6、问change函数可以不用第三个变量实现交换两个元素吗?(异或位运算)
7、synchronize关键字:
作用
加在静态方法上锁住的是什么对象(类对象)
面试官写代码,问我对不对
// 下面的代码能保证线程安全吗??
// 我回答的可以,因为锁住的是局部实例对象
static void test(){
Object o = new Object();
synchronize(o){
// ...业务代码
}
}
// 库存
static int i = 100;
// 会抛出异常吗
// 回答的会
static void test(){
Object o = new Object();
synchronize(o){
--i;
if(i<0){
throw exception;
}
}
}
static int i = 100;
static Object o = new Object();
// 这样呢,能锁住对象o吗
// 回答的可以
static void test(){
synchronize(o){
--i;
if(i<0){
throw exception;
}
}
}
24、9.16 顺丰二面凉经
作者:牛客200498065号
链接:https://www.nowcoder.com/discuss/1053947
来源:牛客网
面试时长:60min
内容:
\1. 自我介绍
\2. 一个接口运行很慢,你怎么解决?
\3. 咱俩视频使用了哪些协议?
\4. 缓存击穿
\5. 缓存雪崩,可以通过限流的方法解决,怎么限流?
\6. 算法:分治思想、动态规划
\7. 分治思想的使用
\8. 归并排序
\9. 整合两个有序数组
\10. 分表分库
\11. 读写分离
\12. 消息队列
\13. 用过哪些中间键
\14. 了解的设计模式,适配器模式了解吗?功能是什么?
\15. 怎么能让一个代码的可读性更好?
\16. 项目经理加了个功能,你时间很急,怎么解决这个问题?
\17. 说说你在你的项目中做了什么贡献?
\18. 记不清了…
最后面试官给我总结:
\1. 项目表达不行,自己需要提炼,突出不了自己的贡献。
\2. 中间键、消息队列需要好好学习。
\3. 提高编程能力,多去了解算法,让我读去看算法书。
我的总结:
\1. 从今年三月份开始学Java,非科班(自动化),JavaSE、JavaWeb、Spring、SpringBoot、Mybatis、MybatisPlus、MySQL、Redis学这些东西已经是我的极限了,很多问题没答上来没办法,确实不会。
\2. 算法方面刷题太少,原理也不太清楚,确实是弱项。
\3. 编程能力没办法,我本科研究生写代码能实现功能就够了,没考虑过优化,敲得代码也不多。
\4. 这次啥成就都没有,把您给整睡着了。尬笑!!!!
25、顺丰科技集团
作者:我想学吉他
链接:https://www.nowcoder.com/discuss/1056877
来源:牛客网
一面
9.7
总体感觉比较侧重基础
主要问java
1、java的构造函数能重写吗
2、线程池
无算法题
具体的有点忘了
二面
9.16
面试先自我介绍了5分钟部门之类的
总时长35min左右
无算法题
9.22 更新
收到hr面邮件了
9.25hr面
26、顺丰科技
作者:天气之子
链接:https://www.nowcoder.com/discuss/1061014
来源:牛客网
9.9 一面 20min
1.自我介绍
2.jdk和jre的区别?
3.并发和并行的区别?
4.进程和线程区别?
5.创建线程有哪几种方式?
6.线程有哪些状态(java)?
7.sleep和wait区别、线程run和start区别?
8.在java种怎么保证多线程安全?
9.什么叫死锁,如何检测死锁?
10.什么叫反射,展开来说说?
11.get和post请求区别?
12.什么是aop?
13.预防sql注入?
14.如何避免XSS攻击?
15.spring有哪些主要模块? spring和springmvc和springboot区别?
16.spring常用的注入方式?
9.16 号二面 20min
自我介绍
1.问了项目?
2.rpc相关问题?
3.反射是什么,讲讲你的理解?
4.5个数,最少需要比较多少次,才能找到其中位数? (很有趣的一道题,开始说了用大小堆,二分查找这些,当时没理解面试官问的是什么
9.21号 HR面
1.学习方法?
2.兴趣爱好
3.手里有什么offer?
反问
9.30 已意向
27、顺丰一面 二面
作者:牛客762061523号
链接:https://www.nowcoder.com/discuss/1043770
来源:牛客网
项目是在线教育系统(懂得都懂)
1、你是采用什么微服务架构?
2、微服务调用期间怎么判断这次服务调用来自于同一个请求?
3、Nacos注册中心使用的是指令,还是配置文件?怎么实现配置文件修改后不用重启微服务就生效?
4、项目权限是怎么管理的,security怎么使用? (基于角色控制)比如教师a删除教师b的课程时怎么实现不能删除?(其实项目并没有这块)
5、怎么优雅地统计每个api调用次数?
6、项目上线了吗?项目上面有oss模块怎么实现的?
7、项目中用到事务和锁了没有?
8、java默认线程池有哪些?(这个知道但是心态已崩,没回答好)
9、java锁分类?
反问:面试官做的什么业务?
主要做的分布式、消息队列、负载均衡等相关业务(哦 那没事了~我太菜!!!)
总结:没怎么问八股?基本就是项目深问,没有实现的功能就会让你做场景题,给一个现实的方案,
中间还有几个问题不太记得,人已傻,都是项目相关。唉, 今天又是被暴击的一天
顺丰二面 9.19 时间20min
首先感谢第一位面试官给了机会,这次面试官问的片偏八股
1、简单介绍一下项目,说一项目的难点
2、介绍了reentrantlock 的实现方式,还有加锁流程
3、mysql索引
4、Tcp三次握手
5、redis基本八股
6、分布式锁
7、NIO BIO
8、epoll、select、poll函数 epoll主要函数有哪些
9、concurrenthashmap 扩容机制、put方法
10、几个中间件的线程模型(redis 、netty还有几个没听清)
有几个记不起来,但是总体不难!
Java后端各科最全八股自用整理,获取方式见
:
整理不易🚀🚀,关注和收藏后拿走📌📌欢迎留言🧐👋📣
欢迎专注我的公众号AdaCoding 和 Github:AdaCoding123