宜信公司面经(两轮)
boss投的,有两面,两天连续面试
宜信一面面经
1.自我介绍
2.印象最深的项目(我选了一个测试驱动开发的项目)
3.测试覆盖率多少?
4.如果在功能变化非常频繁的情况,如何让代码的开发跟上需求的迭代?
5.单元测试怎么不影响到其它功能或层(提到了一个屏障)
6.如何使用真实数据,是现场插入再删除的吗?如果有其他测试人员在使用同一数据库怎么办?
@Rollback事务回滚避免脏数据
junit使用回滚注解@Rollback,配合事务注解@Transactional,来回滚事务
7.一些springboot常见的sql的注解?
8.sql, join和in的区别
9.怎么看sql查询语句的性能---时间用show profile,各个层面用explain
10.算法--twosum
11.hashmap操作的时间复杂度,差点翻车了
12.redis分布式锁(再强化一下吧)
13.我在项目中多久释放这个锁?
14.如何加强一个分布式锁?
15.如果让分布式锁有强一致性(我说用数据库锁)
16.数据库如何做乐观锁?
17.如何保证mysql的RR(用锁和MVCC)
18.netty为什么块,零拷贝
19.为什么用netty?
20.有没有看过netty的源码?(我草)
21.netty是在系统哪个层面用的
22.kryo的优点是什么?
23.反问,业务技术栈之类的
二面 7.27(面试了有79分钟。。。)
1.介绍项目(Springboot项目,还需要再练一下这个项目的讲解)
2.Redis,你持久化的方式
3.怎么理解RPC
4.RPC和普通的HTTP,Rest使用场景有什么不同
5.MySQL用的多吗
6.MYSQL的部署方式了解吗?(不了解)
7.面试官根据我RPC项目问我了解微服务吗(聊天)
8.RPC的延展技术,就是gRPC,Dubbo了解吗?
9.对Python的使用?理解?(网页开发,爬虫,脚本)
10.讲讲对设计模式的理解(下次应该先将Solid,或者设计模式的概念,比如行为,构造之类的)
11.良好的代码习惯,两个示例:一个注意基本变量到封装变量的拆箱和装箱,另一个是注意魔法数,不要直接在if里用get
12.算法:1.斐波那契数列 2.给一串数组比如1asdSD2513sdFD,将其按数字小写大写的顺序排序,输出,我用了个麻烦的方法,应该有更简单的
13.日期格式转换:yyyy-MM-dd和YYYY-MM-dd用哪个?(前者)
14.抽象和接口类的区别(抽象存在的意义是什么呢?)抽象类能有构造函数吗
15.博客分页,用SQL语句取第二页的博文,怎么取?(我说LIMIT和OFFSET,被说太麻烦了)
16.join和inner join的区别?Union和union all的区别?(翻车了)
17.linux命令问题,如何在一个文件里搜索一关键字(grep)如果想找第一个呢?找最后一个呢?(head和tail?)
18.接触java开发多久了
19.线程池的参数设置有研究吗
20.依据什么去设置核心线程数?(CPU密集型和IO密集型,不过我没回答出来)
21.怎么处理线程安全的问题?(我说了死锁和threadlocal)
22.AOP的了解?用AOP实现一个捕捉出现的异常,然后往库里保存记录,怎么实现?(我回答后置环绕,实际上有直接捕捉异常的切面)
23.反问
问题其实都挺基础,可以发现自家的短板,很感谢宜信的面试官
#牛客解忧铺##牛客在线求职答疑中心##面经#