数字马力一面(后端开发工程师)
1.自我介绍
2.问一下学习形式,Java是学校教的,还是自己学的
3.常用的集合框架
4.如何将list对象转化为hashset对象
5.hashmap取出所有的值有什么方法
6.普通的集合框架与JUC有什么区别
7.ConcurrentHashMap与HashTable的区别
8.如何创建一个线程,有哪些方法
9.线程池有哪些参数有什么作用
10.多线程效率一定很高吗,一个任务什么时候使用多线程,什么使用单线程,什么场景使用多线程效率高
11.多线程如何防止一个数据被另一个数据修改
12.加锁有哪几种形式
13.synchronized加锁与ReentrantLock加锁有什么区别,为什么需要ReentrantLock
14.oop与aop的区别
15.为什么需要aop,是不是有oop就不需要aop了
16.不用aop,如何实现aop的效果
17.用过的设计模式,代码开发过程中用到的设计模式,单例模式如何写,为什么是双重检查锁
18.JVM内存划分
19.SpringBoot用到了哪些注解
20.compomnet注解与service注解有什么区别,可以将service注解换成compomnet注解吗
21.把bean注入到一个属性中,有哪些手段,bean初始化时,销毁时需要做一些东西,如何做
22.mybatis查询sql的过程,代码中如何写
23.接口能不能直接创建对象,mybatis为什么直接调用接口就能执行sql呢
24.mybatis缓存,二级缓存如何实现
25.springcloud常用的组件有哪些,没有用组件,如何实现微服务
26.mysql ,评委给学员打分,查询每个学生的平均分,根据哪个字段分组(id),用名字可以吗
27.redis常用的命令
28.把数据存到redis里,redis服务挂掉,然后再次启动,这个数据还存在吗
29.Linux如何启动springboot jar包
30.Linux对一个文件进行授权,755 表示什么含义
31.git merge与git rebase的区别(上次小米就问了不会,这次还不会,没想到这么爱问)
32.项目登录的逻辑,携带token,jwt存在哪里(项目经验太少了,答的不好)
33.分库分表是如何分的
34.文件上传OSS上传的什么内容,1g的东西上传如何实现(根本就没手写过OSS,只是了解一下)
35.学springboot项目初期,出现的异常情况,如何解决
36.对自己评价,优点缺点
37.有没有线下与同学协作过,对一个模块有争议如何处理
38.可以接受工作地点吗,有没有接offer
反问环节
问了下部门,一共有几次面试,请面试官对这场面试评价一下(基础比较扎实,项目经验不足)
全程基本八股,快结束问了项目,无算法,一共55分钟。感觉这次面试好累,全程都在说话。为了安慰我,说因为是学生,没有太多的开发经验,让我多实践,多写代码。
面试官人还是很不错的。
希望进二面