顺丰科技Java后端开发一、二面面经
一. 技术一面
- 自我介绍一分钟
- 项目中遇到的困难,怎么解决的?
- 服务端分页怎么做的?
- 如何查看sql执行计划?
- 项目中数据库用的什么?
- mysql中有哪些索引?聚集索引与非聚集索引解释下?
- 为什么索引能加快查询速度?
- 写两个sql查询吧:第一个:将学生按数学成绩由高到低排序;
- 如果from子句两个表用“,”隔开,解释一下该子句的意思?
- 确定降序是DEC吗?单词忘记拼了,其实是DESC
- 第二个:按语数外三门课的总成绩排序。
- Java学的怎么样,问几个Java基础知识吧。
- 线程间的同步怎么实现?
- synchronized关键字修饰一个类的static方法与普通成员方法,两个线程同时分别调用这两个方***阻塞吗?
- 为什么不会阻塞?
- 线程池使用过吗?
- 怎么创建线程池?
- ThreadPoolExecutor的构造函数参数有哪些?
- 拒绝策略介绍下?
- 默认的拒绝策略是哪一个?
- 中间件用过哪些,比如说Redis、Dubbo、zookeeper。。。微服务了解吗?
...还有些问题忘记了。 - 反问环节。
二、技术二面
- 自我介绍。
- 项目中怎么做的服务端分页?
- 用的mysql还是oracle数据库?
- 有一条sql语句执行很慢,如何排查问题?
- 如何查看sql执行计划?explain命令的执行结果介绍下?
- 索引为什么能加快查询速度?
- 问几个Java基础知识吧,Java虚拟机你了解吗,介绍一下,能说多少说多少?
- 假设有一个String str = new String("hello world");这条语句创建了几个对象,分别在JVM的哪个区域?
- 假设项目中需要用到线程同步,你会考虑怎么实现?
- Java中的锁了解吗,介绍一下?
- 什么是乐观锁、悲观锁,在Java中分别有哪些实现类?
- 线程池用过吗?
- 如何创建线程池?
- Executors类可以创建哪些线程池?
- 线程池初始化参数详细介绍?
- 什么时候会开启核心线程以外的线程?
- 什么时候会用到拒绝策略?
- Spring原码看过吗?
- 最后问个场景题,现在要查询数据库,数据两位2千万行,使用多线程实现,你有什么思路吗?不能重复读取,数据全部读取完之后才进行数据操作。
- 假设有一个线程查询失败如何处理?
- 无反问环节。
感觉一二面问的差不多,时间都是二十多分钟,我怀疑两个面试官串通好了。。。下午收到终面通知。
全部评论
(10) 回帖