java后端工程师面试题(笔试):2022-11-04:
面试题:总分100
1、关于盒子模型(5分)
1)盒子模型的种类有几种?分别是什么?(1分)
2种,分别是1、W3C标准盒子模型 2、IE盒子模型
2) 容器中使用display属性有几种值?都是什么意思?(2分)
display:none:设置元素不会被显示
display:block:设置元素默认值,元素会被显示为块级元素,该元素前后带有
换行符。
display:inline:内联元素的默认值,元素会被显示为内联元素,该元素前后没
有换行符。
display:inline-block:行内块元素,既有内联元素的特性,又有块元素的特性
3) 弹性盒子属性flex-direction的值有几种?都是什么意思?(2分)
4种
row : 默认值是row,主轴为水平方向,从左到右排列
row-reverse: 主轴为水平方向,从右到左排列
column: 主轴为垂直方向,从上到下排列
column-reverse: 主轴为垂直方向,从下到上排列
2、<div><span>1</span><span>2</span><span>3</span></div>
如何使用原生JS让第二个span 的内容变为红色?
3、数据库中的锁包括什么(5分)
按锁的粒度划分:表级锁、行级锁、页级锁
按锁级别划分:共享锁、排它锁、意向锁
按加锁方式划分:自动锁、显示锁
按使用方式划分:乐观锁、悲观锁
4、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替输出到控制台(5分)
5、给你一组学符串如: 7i8hy4jjnb2.让你编程输出里面的数字7842(5分)
public class FilterChar {
public static void main(String[] args) {
String s = "iu7i8hy4jnb2";
String newStr = s.replaceAll("[a-z]", "");
System.out.println(newStr);
}
}
6、HashMap和 HashTable的区别(10分)
HashMap是非线程安全的,Hashtable是线程安全的。
HashMap要比Hashtable效率高。
初始容量大小和每次扩充容量大小的不同 :Hashtable默认的初始值为11,
每次扩容后,容量变为原来的2n+1倍.初始化大小为16,每次扩容后变为原来的2倍
7、请写出遍历HashMap<String,0bject>的代码(5分)
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>;
map.put("小明","小红");
map.put("小白","小青");
//因为HashMap的底层是由多个entry组成的,所以使用entry来接map.entrySet()
for(Map.Entry<String,String> entry : map.entrySet()){
//这里就可以打印对应的key和value
System.out.println("方法一对应的key:"+entry .getKey()+"值"+entry.getValue());
}
8、spring的两种代理JDK和CGLIB的区别(5分)
1、
JDK代理使用的是反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。
CGLIB代理使用字节码处理框架ASM,对代理对象类的class文件加载进来,通过修改字节码生成子类。
2、
JDK创建代理对象效率较高,执行效率较低;
CGLIB创建代理对象效率较低,执行效率高。
3、
JDK动态代理机制是委托机制,只能对实现接口的类生成代理,通过反射动态实现接口类;
CGLIB则使用的继承机制,针对类实现代理,被代理类和代理类是继承关系,所以代理类是可以赋值给被代理类的,因为是继承机制,不能代理final修饰的类。
9、简述 spring 创建Bean的生命周期?(10分)
10、Mybatis修改一个对象时,部分字段为空时不修改,怎么编写SQL语句(动态SQL语句)(5分)
11、SpringAOP代理中有几种方式,分别是什么,有什么特点?(10分)
两种代理模式
一种是jdk动态代理,另外一种是cglib代理。
JDK动态代理是JDK原生的,不需要任何依赖即可使用
使用CGLib代理的类,不需要实现接口,因为CGLib生成的代理类是直接继承自需
要被代理的类;
12、什么叫事务传播行为? Spring支持几种事务传播行为?都是什么?(10分)
事务传播行为指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何运行.
7种:(required / supports / mandatory / requires_new /
not supported / never / nested)
13、redis的安全机制(你们公司redis的安全这方面怎么考虑的?)(15分)