杭州时代银通 java 线上一面

#面经##时代银通##杭州#

本人 22年毕业,2年经验,双一流本,计算机相关专业
7.16 一面 昨天做的笔试

1.讲讲网关项目

2.Jwt用户鉴权流程

3.Jwt令牌里除了储存了用户信息还存储了什么

4.为什么要把用户信息存储到ThreadLocal中?答了避免在每次请求时都去解析JWT令牌,直接去ThreadLocal中取

5.Spring Boot中的自动配置原理?答了基于@SpringBootApplication注解,它是@Configuration、@EnableAutoConfiguration和@ComponentScan的组合。自动配置通过@EnableAutoConfiguration注解实现,这个注解利用Spring Factories机制,从classpath中的META-INF/spring.factories文件加载AutoConfiguration类。

6.持久层MyBatis动态sql如何拼接?没答上来

7.#{}和${}的区别?没答上来

8.MyBatis如何批量插入?没答上来

9.如何实现线程安全?答了如果需要集合类,map用ConcurrentHashMap,list用CopyOnWriteArrayList,CopyOnWriteArrayList基于写时复制技术实现读写分离

10.Synchronized和Lock区别?答了都是独占锁,每次只能来一个线程操作。Synchronized不需要手动上锁解锁,Lock可以通过lock.lock lock.unlock手动解锁

11.Synchronized和Lock作用范围?答了都是整个java虚拟机,如果有多个jvm,就不能保证线程安全。

12.不知道面试官问了什么,他那边太吵了。还说了ReentantLock和ReentrantReadWriteLock的特点。

13.核心线程数和最大线程数有什么区别?答了工作流程

14.说一下拒绝策略

15.常用的阻塞队列?答了ArrayListBlockingQueue和LinkedListBlockingQueue,后面查了下说错了没有list这个单词,是ArrayBlockingQueue和LinkedBlockingQueue

16.ArrayBlockingQueue和LinkedBlockingQueue这俩的区别?答了一个是数组,一个是双向链表,感觉跟ArrayList和LinkedList应该一样吧,前者查找效率高,后者增加删除效率高,直接通过指针插入删除

17.工作中常用的设计模式?还是答了这四个观察者模式,策略模式,单例模式,过滤链模式

18.观察者模式的优点?答了操作一个对象就可以通知订阅他的对象,减少耦合操作,不用一个一个去更新。

19.Spring事务的两种实现方式?答了在类上面标注@Transaction注解开启事务,第二种没答上来

20.Spring事务的传播行为?不会没答

21.Mysql的死锁怎么解决?

22.数据库的函数?答了max,min,sum,average

23.Mysql日期转化函数?答了toDate和toChar

24.有没有排查过线上问题?答了cpu过高排查和OOM异常内存溢出,后面说了dump文件用j visual vm排查

25.j visual vm里面有哪些信息?答了堆内存,新生代老年代的比例。这个不太清楚

26.反问,哪方面需要做提供,面试官说了MyBatis和数据库这块

总结:面试官那块儿环境太吵了,有两三次听不清他说话问的知识点广度还是有的,感谢拷打。
全部评论
第十六个有问题, 阻塞队列最大的区别在于是否任务队列有界, 无界任务队列如果任务处理速度更不上会导致OOM
点赞 回复 分享
发布于 2024-08-07 18:55 浙江

相关推荐

📍面试公司:合肥大智慧🕐面试时间:下午三点到五点半💻面试岗位:java开发❓面试问题:首先我是进去报道,对接的人让我先写笔试,我就说等会学校里还有面试,然后笔试就免了接下来是一面:就是对着简历写的点一条条问,问到redismysql就给一个开放性的问题然后就是差不多半小时?对着两个项目一点点问,还有一些基础的八股,比如你写了a,市面上还有b,面试官会问为什么用a,有什么不同?然后我就说了几点,然后面试官会不断问,还有吗?但是你只要说完了就别硬耗时间就好了,直接说答完了。然后就是经典反问,问公司情况,业务情况等。二面的话来了两个面试官,就差不多是更深得的底层原理吧,比如你写jwt,就问你jwt和普通token有什么区别?其实我没准备的,就说了一下jwt的特点,然后又把rsa加密介绍一下。差不多就是横向对比加底层理解吧,问你mongodb和mysql的区别?为什么用?差不多就这些吧,半小时其实问不了太多。还有就是项目的流程,那些方面会有问题,怎么解决的,无非就是缓存一致性问题,mq丢失消息重复消费这些问题。然后还是反问,直接和一面一样。三面是hr面,本来都要走了,结果给我加了个hr面。然后就是我在boss上联系的hr,问题包括家庭情况,对象情况,为什么选合肥?有没有offer?有没有论文?还有实验室的情况,能不能提前实习,我就说如果寒假开学后可能比较忙。还有就是薪资问题,给了我好几个选项,月薪年薪最低月薪最低年薪啥的,我就填了一个月薪20k,面试官说有点高,我说boss上不是写的这么多吗,她说那是一个很大的区间14_22k,然后其实这是在问offer的时候,我说有一个14k的我给拒了。反问环节问了一下她大概能给多少,她说她绝对不聊,还有一些标准的反问环节吧。最后说一周或两周给消息。🙌面试感想:简历写了什么就问什么,好评。如果对于底层的细节理解到位的话,面试官应该挺欣赏这一点的。还有就是关于八股这方面多准备准备,以备不时之需。整体流程偏快,线下面试的话其实少了很多等待面试的焦虑。
查看9道真题和解析
点赞 评论 收藏
分享
1.接口的抽象类的区别 分别应用场景2.final finally 区别  final 使用场景3.java中有哪些map4.hashmap原理 节点阈值扩容5.扩容中0.75是什么的0.75是数组容量还是bucket   扩容后元素的位置以及为什么2倍扩容6. ConcurrentHashMap项目有实际使用吗 以及简单的原理7.怎么评估 ConcurrentHashMap 和hashtable 的性能好坏8.cas实现流程 为什么觉得cas比synchronized 性能好9.线程池的关键参数和执行流程10.new thread 和单线程的线程池都抛异常分别可能是因为什么11.如果你要设计一个线程池,那么你怎么进行参数的设置12.如果想要任务高效执行,并且下游接口希望快速返回结果,该怎么设计线程池13.任务丢失对你的项目有影响吗,怎么去设置拒绝策略14.spring事务的传播行为有哪些,传播行为实现机制15事务传播行为在db层面上是怎么保证的,在一个事务里的必要条件16.spring声明式事务需要注意的点有哪些17.aop不用动态代理还有其他实现办法吗18.spring bean的创建过程19.多例什么时候创建20.springboot 做了哪些事21.starter 具体实现原理22.springboot 怎么知道要创建哪些bean呢23.索引失效场景24.b+树优点,为什么不用二叉树25.b+树和二叉树全部加载在内存中,性能判断,层高的影响26.主键选择,自增主键,uuid,雪花id对比27.uuid 除了页分裂还有啥问题28.数据库2000万数据经典问题,为什么觉得2000w是一个瓶颈呢29.mysql 3层层高要多少次io30.给sql语句,索引,表结构判断是否走索引,走哪个索引手撕LRU :linkedhashmaphashmap 和双向链表都可以实现
点赞 评论 收藏
分享
评论
11
36
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务