涂鸦智能一二面面经
涂鸦一面 10.14 45min
- 自我介绍
- 讲一讲实习的项目或者你自己写的项目吧
- 扯项目,问 RBAC , 以及 在业务上是怎么实现的(一直没理清,最后才明白面试官要我说的是我这个权限实现了什么,我这里实现的是不同权限的人展示的页面/按钮不同)
- 扯项目,讲了一下如何去实现消息的可靠投递,期间面试官对为什么消息要进行持久化、为什么要消费的时候发 ack,以及延伸出去,问了什么是幂等,如何去实现幂等
- 扯项目,jwt的结构,以及其他解决分布式session的方案
- 扯项目,什么是跨域(扯浏览器的同源策略、以及通过设置请求头去解决以及原理)、
- 扯项目,讲讲你实现视频解码的时候设置的分辨率多少,前端用什么播放(videojs)
- 你项目中 redis 是如何使用的,存储了什么信息
- redis有哪些数据结构
- 缓存穿透如何解决
- 项目中用到了 AOP,来讲讲 SpringBoot 中如何去写 AOP 吧,有哪些注解,有什么作用(@AspectJ、@Pointcut、@Before、@After、@AfterReturning、@AfterThrowing......)
- 来讲讲线程池的七大参数, 拒绝策略JDK提供的有哪些
- 系统频繁的gc会发生什么
- MySQL 可重复读是如何去实现的
- 面向对象和面向过程有什么区别
- MySQL书写语句具体有哪些可以优化(模糊查询的使用'xxx%'、不使用 NOT IN、or、索引覆盖......)
- 项目中遇到的困难,如何解决
涂鸦二面 10.20 1h
面试官:我看一面问的项目比较多,这一面就问问基础知识吧
- 如何去判断一个链表中有环,如何确定环的入口点,如何计算环的长度
- 讲一讲快速排序的思路,快速排序的时间复杂度、空间复杂度,是否稳定
- 如何解决哈希冲突
- JDK8 HashMap对于哈希定位做了哪些优化(本来说完了,想扯那个扩容的时候有个优化,结果扯着扯着自己忘了...给自己挖坑)
- 三次握手为什么要三次,两次会出现什么后果
- 四次挥手,主动释放连接的一方需要 TIME_WAIT,为什么需要等待一段时间,不等待会怎样
- 讲一讲 http 与 https
- 讲一讲 MySQL Innodb引擎中的 B+ 树
- 如果我线上有 sql 查询的慢,如何去排查
- 联合索引里面存的是什么,为什么会有最左匹配的原则
- TCP拥塞控制算法中的快恢复和有什么区别
- 说一下 JVM 的内存结构
- 什么是尾递归(没想出来,给自己挖坑)
- 递归和循环那个性能好(不知道,我说他们都得设置终止条件,像递归可能就会 Stack OverflowError)
- 为什么会 Stack OverflowError,栈帧是什么,栈帧是线程私有的吗
- 如何设置虚拟机栈的大小(忘了,只知道具体有参数设置),虚拟机栈存在哪里(不知道...)
- redis的数据结构,使用场景
- 布隆过滤器
- 如何保证 redis 和 mysql 的数据一致性
- 你项目中用到了 Nacos 是吧,那你了解dubbo吗(不了解),那你讲讲你对微服务的理解吧
- 场景题:统计有多少人进入过直播间(简单理解为用户点击按钮,计数就加1),如何去设计这个场景、
- 逻辑题 5L和6L的瓶,如何装出3L的水
只记得这么多了,感觉面试的时候有点模糊的东西,最好想清楚再说或者干脆说不懂,别给自己挖坑。
#java求职##涂鸦智能##面试题目#