
面试
文章平均质量分 86
Z_海瑞_Z
这个作者很懒,什么都没留下…
展开
-
MyBatis常见面试题
MyBatis什么是 Mybatis?Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。通过 xml 文件或注解的方式将原创 2021-03-11 09:57:41 · 148 阅读 · 0 评论 -
JAVA 锁常见面试题
Q1:谈一谈 synchronized每个 Java 对象都有一个关联的 monitor,使用 synchronized 时 JVM 会根据使用环境找到对象的 monitor,根据 monitor 的状态进行加解锁的判断。如果成功加锁就成为该 monitor 的唯一持有者,monitor 在被释放前不能再被其他线程获取。同步代码块使用 monitorenter 和 monitorexit 这两个字节码指令获取和释放 monitor。这两个字节码指令都需要一个引用类型的参数指明要锁定和解锁的对象,对于同步原创 2021-01-07 16:57:05 · 1527 阅读 · 1 评论 -
JVM常见面试题
Java虚拟机中内存模型栈内存 : 方法运行时所进去的内存, 还会存储程序的局部变量多线程情况下,一个线程一个栈空间堆内存 : new出来的**对象(对象属性有初始值)、数组(数组元素有初始值)**都在堆内存中,对象的成员变量也存储在堆内存中堆内存中的数据,被多个线程共享方法区 : 字节码文件加载时所进入的内存(程序要运行的代码 .class文件)静态区 : 静态方法、静态变量(有初始值)非静态区 : 非静态方法、静态变量本地方法区 : java调用操作系统相关资源(被nat原创 2021-01-07 16:54:12 · 149 阅读 · 0 评论 -
集合常见面试题
Map集合的遍历方式Set<K> keySet() : 将Map集合中的key值封装到Set集合中(根据键找值方式遍历)V get(Object key) : 根据key值,获取Map集合中对应的value值(获取键值对对象,通过迭代器遍历)Set<Map.Entry<K,V>> entrySet() : 获取所有键值对对象集合(获取键值对对象,通过增强for循环遍历)Collection<V> values() : 将Map集合中所有的val原创 2021-01-07 16:07:40 · 511 阅读 · 0 评论 -
JAVA基础常见面试题
封装继承Java 继承(inheritance)是 Java 面向对象的三大重要特性之一(封装-encapsulation, 继承-inheritance, 多态-polymorphsim) Java 继承很好的管理了具有相似特征的类之间的关系(主要集中在成员变量、方法), 使程序可扩展、易修改,并且成为java多态的基础.在java中,一个父类被多个子类继承,但一个子类只能继承一个父类。与接口不同的是,一个类可以实现(implement)多个接口。普通类和抽象类有哪些区别?抽象类不能原创 2021-01-07 16:06:17 · 1023 阅读 · 0 评论 -
JavaWeb常见面试题
转发和重定向的区别1、重定向是浏览器发送请求并收到响应以后再次向一个新地址发请求;转发是服务器收到请求后为了完成响应转到另一个资源。2、重定向中有两次请求对象,不共享数据;转发只产生一次请求对象且在组件间共享数据。3、重定向后地址栏地址改变;而转发则不会。4、重定向的新地址可以是任意地址;转发必须是同一个应用内的某个资源。常见http返回状态码100:这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已原创 2021-01-07 16:04:02 · 273 阅读 · 1 评论 -
数据库常见面试题
数据库优化有了解过吗?性能优化有三个重要指标:CPU内存(JVM,内存的读写速度远远大于磁盘的读写)磁盘IO和网络IO数据库设计,牢记数据库设计的要点,面试必备要使用varchar 不要使用char (varchar是可变字符串)varchar长度尽量使用2的n次方便于查询,便于使用字段不能为NULL尽量使用int类型字段设计不宜过多命名规范(表和字段名,要避免使用关键字,最好使用xx_name的形式,不宜过长)字段长度要足够每个表都要有一个自增的ID字段正确建立索引表原创 2021-01-17 18:22:53 · 234 阅读 · 0 评论 -
线程常见面试问题
1.线程和进程的区别?答: 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程2.多线程编程的好处?答: (简单回答)多线程的概念就和CPU多核一样,好处就是一心多用的意思,比如一个程序可以同时文件读写原创 2021-01-07 16:00:49 · 673 阅读 · 0 评论 -
常见设计模式面试问题
设计模式有哪些原则?**开闭原则:**OOP 中最基础的原则,指一个软件实体(类、模块、方法等)应该对扩展开放,对修改关闭。强调用抽象构建框架,用实现扩展细节,提高代码的可复用性和可维护性。**单一职责原则:**一个类、接口或方法只负责一个职责,降低代码复杂度以及变更引起的风险。**依赖倒置原则:**程序应该依赖于抽象类或接口,而不是具体的实现类。**接口隔离原则:**将不同功能定义在不同接口中实现接口隔离,避免了类依赖它不需要的接口,减少了接口之间依赖的冗余性和复杂性。**里氏替换原则:**开闭原创 2021-01-07 15:51:42 · 463 阅读 · 0 评论 -
常见排序算法
排序有哪些分类?排序可以分为内部排序和外部排序,在内存中进行的称为内部排序,当数据量很大时无法全部拷贝到内存需要使用外存,称为外部排序。内部排序包括比较排序和非比较排序,比较排序包括插入/选择/交换/归并排序,非比较排序包括计数/基数/桶排序。插入排序包括直接插入/希尔排序,选择排序包括直接选择/堆排序,交换排序包括冒泡/快速排序。直接插入排序的原理?稳定,平均/最差时间复杂度 O(n²),元素基本有序时最好时间复杂度 O(n),空间复杂度 O(1)。每一趟将一个待排序记录按其关键字的大小插入到原创 2021-01-07 15:48:56 · 191 阅读 · 0 评论 -
Java 面试知识点
Java 基础 语言特性 Q1:Java 语言的优点?① 平台无关性,摆脱硬件束缚,“一次编写,到处运行”。② 相对安全的内存管理和访问机制,避免大部分内存泄漏和指针越界。③ 热点代码检测和运行时编译及优化,使程序随运行时间增长获得更高性能。④ 完善的应用程序接口,支持第三方类库。Q2:Java 如何实现平台无关?JVM: Java 编译器可生成与计算机体系结构无关的字节码指令,字节码文件不仅可以轻易地在任何机器上解释执行,还可以动态地转换成本地机器代码,转换是由 JVM 实现的,JVM.原创 2020-07-11 17:22:46 · 436 阅读 · 0 评论 -
java面试及优化
数据库AOP的应用–事务(面试知识点):四大特性:ACID,A原子性,C一致性,I隔离性,D持久性隔离级别:读未提交,读已提交,可重复度,串行化事务要解决:脏读(读到了别的事务未提交的内容),不可重复度(重复读取的结果不一致),幻读(多次读取结果行数不一致)数据库优化性能优化有三个重要指标:CPU内存(JVM,内存的读写速度远远大于磁盘的读写)磁盘IO和网络IO数据库设计,牢记数据库设计的要点,面试必备要使用varchar 不要使用char (varchar是可变字符串)v原创 2020-07-23 21:21:02 · 236 阅读 · 0 评论