有没有在一嗨租车待过的老哥
请问有在一嗨工作过的老哥吗,想打听一下在那里工作感受怎样
2024-01-04补充面经:
一面
- 什么是CAS?(比较交换)JDK框架中用到CAS的类有什么。(AQS)
- unsafe了解吗
- AQS中实现CAS插入的是哪个工具(Unsafe)
- 线程池工作队列有哪些?(直接同步队列、链表结构的无界队列、数组结构的有界队列、优先级队列)
- 线程池阻塞队列基于什么实现?(需要看阻塞队列的类型,比如LinkedBlockingQueue基于链表和ReentrantLock实现)
- IO多路复用中,进行通知的selector线程,在硬件层面是什么?(select、poll、epoll)
- BIO和AIO的优缺点。(AIO缺点是比较复杂,不同操作系统的实现也不一样,可移植性差。另外对于数据量较小的IO反而没有BIO来得快。NIO缺点同理)
- Java八大基本类型(byte1、short2、int4、long8、float4、double8、String、char2)
- 重载是多态吗?(严格来讲的话不算,但是有一种说法说它是编译时的静态多态)
- 什么是编译时多态和运行时多态?(编译时多态是指在编译阶段就能确定方法的调用,根据方法名和参数列表来决定使用哪个方法;运行时多态是指在运行时根据对象的实际类型来确定方法的调用。这种多态性是通过方法重写(override)和动态绑定(dynamic binding)来实现的)
- 重写是哪种多态?
- 程序计数器会不会出现溢出问题?
- JMM的本质作用?(定义了多线程程序中对共享资源访问的规则,主要从原子性、可见性、有序性三个方面来定义)
- 项目里k8s干嘛用的?(对容器进行集群管理,可以做自动化部署、弹性扩容、灰度发布这样的功能)
二面
- 异常体系?(顶层的是一个Throwble,下面有两个分支,一个是Error表示无法被捕获的错误异常;一个是Exception,它又可以分为RuntimeException运行时异常和非运行时异常。非运行时异常可以分为Unchecked Exception 不受检查异常和Checked Exception检查异常)
- try-catch捕获并return后,finnal还会执行吗?(会,它会在return之前执行,保证资源释放操作)
- JVM参数?(Xmn新生代内存,Xmx最大内存,Xms最小内存)
- 拆表的工具。
- 索引失效场景?(like开头做模糊匹配;联合索引最做匹配失效;<>或!=;使用了or关键字;那么它前面和后面的字段都要加索引,不然所有的索引都会失效)
- 2核4G服务器如何配置线程池去执行文件上传。(文件上传属于IO密集型,一般配置线程数量为cpu个数*2,方便在IO阻塞的时候进行切换;而对于那种CPU密集型的,需要大量计算的,一般线程池数量是cpu数量+1,减少上下文切换)
- cookie和session哪个可以用来做登录。(都行,但session安全性更高)
- 为什么用session不用cookie。(cookie是保存在客户端的,时效性较长,如果加密方式被泄漏了就会造成安全风险。Session是保存在服务端的,它会生成cookie将sessionId返回给客户端,时效性默认30分钟,只要客户端关闭或者超时就会失效,安全性更高。)补充:单点登录可以在redis共享sessionId,并不是强依赖于token
- 用JWT的原因是什么?(加密,安全性更高)
- springboot自动装配流程
- springboot3自动装配有什么变化
- 接口优化。(缓存异步批处理)