朋友去阿里进行的技术面,历经了二个多小时,面试的是Java开发工程师,出来后立马拿手机记录了面试问的知识点,知识点包括Java基础和高级、spring、多线程、网络、数据库、算法、Redis、分布式、高并发等。
加上我自己总结的BAT面试Java高级爱问的知识点,组成了这些面试题!有需要的同学可以提早准备,文末有面试答案以及技术分享!
spring框架
spring框架中需要引用哪些jar包,以及这些jar包的用途spring注入的几种方式spring如何实现事物管理的springIOC和AOP的原理spring中循环注入的方式Spring AOP与IOC的实现原理Spring的beanFactory和factoryBean的区别Spring的事务隔离级别,实现原理对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的?spring boot特性,优势,适用场景等
由于篇幅限制,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以见文末获取哦
数据库MySql
InnoDB与MyISAM的区别数据库的三范式是什么简单说一说drop、delete与truncate的区别什么是内联接、左外联接、右外联接?并发事务带来哪些问题?事务隔离级别有哪些?MySQL的默认隔离级别是?简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别如果一个表有一列定义为 TIMESTAMP,将发生什么?
java多线程常见问题
Java中实现多线程有几种方法继承 Thread 类实现 Runnable 接口。ExecutorService、 Callable、 Future 有返回值线程如何停止一个正在运行的线程notify()和notifyAll()有什么区别?sleep()和wait() 有什么区别?volatile 是什么?可以保证有序性吗?Java中interrupted 和 isInterruptedd方法的区别?Java中synchronized 和 ReentrantLock 有什么不同?什么是线程安全?Vector是一个线程安全类吗?tryLock 和 lock 和 lockInterruptibly 的区别Semaphore 与 ReentrantLock 区别
算法&数据结构&设计模式
使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)两个有序数组的合并排序一个数组的倒序计算一个正整数的正平方根说白了就是常见的那些查找排序算法数组和链表数据结构描述,各自的时间复杂度二叉树遍历快速排序BTree相关的操作在工作中遇到过哪些设计模式,是如何应用的hash算法的有哪几种,优缺点,使用场景
篇幅太多了,又加上篇数限制,一一列出来影响阅读,还不如获取慢慢参考,以备不时之需
分布式缓存
Redis 与其他 key-value 存储有什么不同?为什么Redis的操作是原子性的,怎么保证原子性的?Redis 的持久化机制是什么?各自的优缺点?Redis 集群方案什么情况下会导致整个集群不可用?假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?都有哪些办法可以降低 Redis 的内存使用情况呢?一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素
线程池、高并发、NIO
分析线程池的实现原理和线程的调度过程线程池如何调优线程池的最大线程数目根据什么确定cloneable接口实现原理,浅拷贝or深拷贝Java NIO使用hashtable和hashmap的区别及实现原理,hashmap会问到数组索引,hash碰撞怎么解决arraylist和linkedlist区别及实现原理反射中,Class.forName和ClassLoader区别
JVM相关(面试必考)
JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用JRE、JDK、JVM 及 JIT 之间有什么不同?怎么获取 Java 程序使用的内存?堆使用的百分比?描述一下 JVM 加载 class 文件的原理机制GC 是什么?为什么要有 GC?Parallel Scavenge 收集器(多线程复制算法、高效)什么时候会触发FullGC什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?描述一下JVM加载class文件的原理机制?Minor GC与Full GC分别在什么时候发生?
分布式相关
Dubbo的底层实现原理和机制消息中间件如何解决消息丢失问题Dubbo的服务请求失败怎么处理重连机制会不会造成错误对分布式事务的理解如何实现负载均衡,有哪些算法可以实现?Zookeeper的用途,选举的原理是什么?数据的垂直拆分水平拆分。如何做一个分布式锁用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗MQ系统的数据如何保证不丢失列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题。
springboot
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?如何在Spring Boot启动的时候运行一些特定的代码?如何理解 Spring Boot 配置加载顺序如何实现 Spring Boot 应用程序的安全性?什么是 Swagger?你用 Spring Boot 实现了它吗?如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?如何在 Spring Boot 中禁用 Actuator 端点安全性?Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?Spring Boot 可以兼容老 Spring 项目吗,如何做?如何重新加载Spring Boot上的更改,而无需重新启动服务器?Spring Boot、Spring MVC 和 Spring 有什么区别?Spring 是如何快速创建产品就绪应用程序的?创建一个 Spring Boot Project 的最简单的方法是什么?
面试答案!
关于面试答案已经整理出来了,这次技术面试针对的岗位是阿里P7,各位可以比较一下!
由于篇幅限制小编,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!资料获取方式:
关注我+分享本文后,私信【答案】即可获得资料免费获取方式!
关注我+分享本文后,私信【答案】即可获得资料免费获取方式!