知乎面试题

本文探讨了Java编程中的核心概念,如封装、继承和多态,以及Spring AOP和IOC的理解。深入讲解了ArrayList和HashMap的底层实现与扩容机制,以及AOP在实际项目中的应用。还涉及Java反射、设计模式(如策略模式和工厂模式)、泛型、事务管理、JVM参数、Redis缓存策略、数据库ACID属性和死锁问题。此外,讨论了Java 8的新特性,线程状态转换,以及如何在项目中保证高并发性能。最后,文章涵盖了面试中的常见问题,如线程池配置和防止Redis雪崩的策略。

一直问八股文,很少问项目。

首先,封装,继承,多态 怎么理解

spring aop和ioc怎么理解

arrayList 和 hashmap,底层,扩容

aop在项目中的应用

java 反射的应用

java 常见的设计模式(举例说几个),自己用到的模式,只说用了策略模式,问工厂模式怎么实现。

泛型的使用,泛型擦除,泛型问号作用,泛型有什么用

事务的注解和读音,事务的参数,没有说出超时处理,事务的默认传播方式

java -jar 的启动参数作用,最大内存具体怎么拼写。

生产中 jvm命令用过哪些,只说了jmp

redis的key淘汰机制,错说成删除机制,少说了lru,redis持久化的两种方式,优劣点

数据库 acid ,一致性,原子性,持久性,隔离性(少说),脏读,幻读

b b+ hash区别 count(1) count(*) count(列)

java8的特性,lamda表达式,流,少说了 optionnal,问了判空的方法,具体方法名不记得。

线程的五个状态以及转换 新建,就绪,运行,阻塞,死亡

死锁发生的条件,怎么打破

函数式接口里面的方法是否只能有一个,说说其他的,函数式接口用什么注解声明。

java类的加载过程,三个类加载器只说了两个,名词双亲枚举没有说出来

项目怎么保证高并发的,说了redis和负载均衡

redis 的数据在项目中怎么用的,说了字符串,list,map

java 时间类的工具,说用了localdata,问怎么比较,回答转换成秒,他说直接调方法比较。

问离职原因,为什么想加入他们

线程的创建方式,说了三种

线程池的参数,请求变多后,线程数的变化。核心线程数空闲后怎么强制回收。

线程池的类型,随便说了几种,阿里巴巴建议不用Executors创建线程池,为什么?

redis 雪崩,穿透,击穿,穿透没说好,给了一个场景redis和数据库都没有,一直查来查去,怎么保证。说了加ip或者加鉴权访问,似乎不满意。

jvm内存结构,浅拷贝深拷贝,垃圾回收机制

最近有在学习什么新技术,说了k8s

mvc servlet数据传输原理

mybatis有用过吗

设计模式六大原则

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blaze Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值