某小公司一面--JAVA开发岗

问题:首先自我介绍 

1.开始问项目,项目内容,你负责哪一个模块,业务内容,项目用了缓存,缓存模块怎么使用的,项目是微服务架构,微服务组件有哪些,在项目中怎么使用的?

2.讲一下Java的集合框架,哪些是线程安全的,为什么线程安全?

我的回答:忘记了大的框架体系了(我真该死啊),讲了几个list,set,线程安全的就CopyonwriteList,concurrentHashMap,用了读写分离,加锁或底层用了synchronized、volatile关键字实现,threadLocal等,保证了隔离或可见性。。。

3 线程,进程,协程是什么?怎么创立多线程?

我的回答:一个程序运行就是一个进程,一个进程可以有多个线程,多个线程共同享有这个进程的内存空间,协程不知道,创立多线程四种方法,继承thread类,实现runable,实现callable,线程池

4 提到了线程池,线程池怎么创建,核心配置?

我的回答:推荐使用threadPoolExecuter来实现,直接用executer不能配置参数,还会有oom风险,核心配置:七个参数

5 提到了拒绝策略,线程池有哪些拒绝策略?

我的回答:四个拒绝策略,抛出异常;不抛异常;谁传谁调;丢掉队列最前面的

6 简历上写了jvm,垃圾回收知道吗?垃圾是怎么定义的?

我的回答:不被引用的对象就是垃圾,定义有两种方式:引用计数法和可达性分析法

7 提到了引用计数法,引用计数法的缺点知道吗?

我的回答:对于循环调用,计数器永远不为0,没法回收,计数过程是浪费资源的,计数器额外占用内存

8 垃圾回收方法有哪些?

我的回答:标记清除 标记复制  标记整理 ,主流两个回收器 cms和G1,顺带讲了过程

9 拦截器和过滤器的区别知道吗?

我的回答:拦截器主要是在请求发生时,过滤器是在请求前或请求后。。。

10 提到了拦截器可以通过aop实现,那aop和拦截器是一个东西吗?

我的回答:aop是一个概念,拦截器可以用aop进行实现。。。

11 spring容器模块有哪些?springboot和spring有什么区别?bean对象的生命周期了解吗

我的回答:spring core ,applicationContext,spring data,..不知道了,第二个问题除了答一个简化配置后就不知道了,bean的生命周期,实例化,初始化(加载属性),使用,销毁

12 现在有一个大sql,执行顺序,怎么查看,怎么优化?

答:执行顺序:select from ,join, on , where ,group by  ,集合函数,having ,子查询,sort by ,limit

查看性能  explain

优化:索引,分库分表(一般不太可能)。。。

13 redis,持久化策略?哪个好?项目中用到了分布式锁,怎么用的?

我的回答:RDB和AOF,没有所谓哪个好,看场景,setNx加锁。。。

14 rocketMq核心组成,怎么保证消息不丢失?

我的回答:组成:broker负责中转存储,生产者,消费者,一个无状态服务器NameServer;可以通过配置保证不丢失消息,重复消费或异常队列的问题:重复消费可以通过加一个唯一性属性判断,异常队列可以考虑重试,回退,死信队列,监控和报警

反问

公司的主要业务?

假设进去是负责哪个模块?

公司社保基数?

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值