27. 跨越速运面试
结果:
拿到offer,15k,995,工作强度大,拒绝了
时间
2023.4.7
心得
带总结:问了新问题,待总结
一面:电话面试
SaaS、PasS、IaaS的区别?
三者本质都是提供云存储服务
IaaS: 基础架构即服务,提供最基本的云服务,如云存储,云计算等等,常见腾讯云、阿里云
PasS:平台即服务,在IaaS的基础上提供基础组件,如地图定位,人脸识别,语音转文字等。
SaaS:软件即服务,比如oa系统,费控系统等,通过账号即可使用,也可定制化
SaaS平台怎么保证每个账号数据的权限?
通过角色的形式,为每个角色分配不同的菜单和权限,然后把对应角色分配给账号
谈谈你对hashmap的理解
数据结构,初始大小,扩容方式,hash算法,put,哈希冲突
concurrentHashmap的理解
hashmap 1.7和1.8的区别
1.8引入了红黑树
1.7头插法,1.8尾插法(遍历链表,统计长度)
hash算法:1.7扰动了9次,1.8只扰动2次
juc包下的其他工具有哪些?
AQS,lock,ThreadLocal,ReentrantLock
分布式锁有什么实现的?原理是什么?
说了redission
setnx指令了解吗?
说了会有很多问题,总的来说就是无法保证数据的一致性
mysql的优化思路
联合索引为什么可以提高查询速率?
减少回表查询
锁表具体锁在哪一块?
锁在索引上
mvcc了解吗?
限流的思路?
连接池,数据库连接池,消息队列,锁(分布式锁等限制颗粒度)
spring的IOC和AOP了解吗?
二面:现场面试
遇到过最复杂的问题
sql解析异常
mybatis一级缓存导致的数据不一致问题
Ouath2实现方式?和应用场景?
通过三部分进行信息存储,然后通过不同令牌形式去做不同实现
应用场景:结合jwt和spring安全框架,可以做单点登录的实现
Ouath2和spring安全框架:提供具体鉴权思路和流程
jwt:提供更安全的token
Ouath2和普通鉴权的区别是什么?
总结:具有更完善的体系,和更规范的认证
跨域问题的几种情况?
跨域问题:前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题(调用其他域名或网站也算,不一定是掉后端接口)
解决方案:
调用方解决:反向代理
被调用方解决:添加过滤方法,添加指定字段
参考文档:https://zhuanlan.zhihu.com/p/66484450
说一下遇到过的sql优化问题?
不会走索引的情况?
序列化和反序列化的工具用过哪些?
说了阿里巴巴fastJSON和jdk本身序列化
序列化id解决什么问题的?
for 和 foreach有什么区别?
for支持通过index下标定位,foreach从头遍历到尾,是增强版for循环
使用 foreach 需要满足什么条件?
不能对元素进行增删操作,修改是可以的
hashmap的数据结构说一下?
haspmap的equals方法和hashcode方法有什么应用场景?
调用get方法时,会先根据hashcode方法计算index值,然后通过equals判断链表各值
大小顶堆解决什么问题?
说了优先队列是用它实现的
mybatis分页说一下?
- 使用 RowBounds进行分页,是针对结果集进行的内存逻辑分页
- 在sql中直接写分页语句
- 使用分页插件进行分页,原理是使用mybatis提供的插件接口,实现自定义分页,
说了用代理模式做的实现,静态代理模式
死锁的几种场景?
本质都是互相抢占资源导致死锁的场景,比如互相转账
设计模式六大原则?
ioc说一下?
三面:现场面
Integer线程安全吗?
是,和String一样,是final修饰的
乐观锁或者悲观锁能在多机器节点下保证线程安全吗?
可以,数据库独一份,和几个机器节点无关
ip2region的数据结构是怎样的?
翻翻代码看一下
平时兴趣爱好?
栈和队列的区别?用栈怎么实现队列?
最熟悉的leecode题?
说了两数之和,出入参没说明白...
hashmap的上级接口是什么?
map
左连接和右连接有什么区别?
怎么理解er图?
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。