2022-11-08,应聘Java开发 :云智慧(实训机构,个人观点,与培训没区别)
今天二面技术面,问了一些问题
1.集合有哪些?
两大容器如图:Collection集合
list下面还有Vector,Stack。Set下面还有LinkedHashSet。Map下面还有HashTable,ConcurrentHashMap以及LinkedHashMap。
2.ArrayList的扩容原理
默认情况下数组长度是10个,也可以在创建ArrayList对象的时候指定初始长度随着在程序里面不断往ArrayList里面添加数据超过十个的时候,ArrayList中就没有足够的容量去存储后续的数据,这时候ArrayList会触发自动扩容机制,增加50%,自动扩容机制流程是:
1、扩容,把原来的数组复制到另一个内存空间更大的数组中
2、添加元素,把新元素添加到扩容以后的数组中。
3.HsahMap的工作原理
HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当我们给put()方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象。”这里关键点在于指出,HashMap是在bucket中储存键对象和值对象,作为Map.Entry。
4.Java 三大器的拦截器,过滤器,监听器工作原理
拦截器: 详解
java里的拦截器是动态拦截Action调用的对象,AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截 。
原理:大部分时候,拦截器方法都是通过代理的方式来调用的。Struts2的拦截器实现相对简单。当请求到达Struts2的ServletDispatcher时,Struts2 会查找配置文件,并根据配置实例化相对的拦截器对象,然后串成一个列表(List),最后一个一个的调用列表中的拦截器。Struts2的拦截器是可插拔的,拦截器是AOP的一个实现。Struts2拦截器栈就是将拦截器按一定的顺序连接成一条链。在访问被拦截的方法或者字段时,Struts2拦截器链中的拦截器就会按照之前定义的顺序进行调用。
比如在登入一个页面时,如果要求用户密码、权限等的验证,就可以用自定义的拦截器进行密码验证和权限限制。对符合的登入者才跳转到正确页面。
过滤器: 详解
对资源进行拦截后,将其中我们认为的杂质(用户自己定义的)过滤,符合条件的放行,不符合的则拦截下来。例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截
监听器: 详解
5.spring MVC的请求流程
6.Linux的常用指令以及解释
查看硬件信息命令:ifconfig free fdisk ethtool mii-tool dmidecode dmesg lspci
系统性能监视命令:uptime top free vmstat mpstat iostat sar chkconfig
内存命令:top free vmstat mpstat iostat sar
CPU命令:top vmstat mpstat iostat sar
I/O命令:vmstat mpstat iostat sar
进程命令:ipcs ipcrm lsof strace lstrace
负载命令:uptime mount umount df du fsck dd dumpe2fs dump
关机和查看系统命令:shutdown halt init
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启