zoukankan      html  css  js  c++  java
  • 面试java后端面经_2

    1 自我介绍(介绍一下帅气的自己哦)


    2 对象深浅复制(浅复制:对象内引用的对象不会复制,深复制会把引用对象复制。如何进行深浅复制,这块不懂的童鞋可以百度一下)

    3 wait方法和sleep方法的区别(sleep来自于Thread,wait来自Object,sleep没有释放锁且一般加时间限制,wait释放了锁一般不加时间限制 ,sleep需要捕捉异常,wait不用。Thread.sleep(0)是“触发操作系统立刻重新进行一次cpu竞争”)

    4 ThreadLocal原理(线程局部变量,从另一角度解决并发访问,锁一般是以时间换空间,而ThreadLocal是以空间换时间)

    5 JVM内存模型(方法区、堆、Java栈帧、程序计数器、本地方法栈,不太懂的童鞋可以百度,这里涉及到各个模型功能、会发生OOM的有哪几个、线程共享和不共享)

    6 索引最左前缀原则(复合索引中要用到索引必须包含建立索引时最左的字段 如建立:(a,b,c)索引,那么在下面三种情况下可以用到:a或a b或a b c。 如果是查b或c这样的就用不到该索引了)

    7 redis内存模型,持久化方式(键值对、RDB快照、AOF日志)

    8 redis啥是缓存穿透、缓存雪崩,怎么解决(缓存穿透:多次请求缓存中不存在的数据,缓存雪崩:redis缓存大量失效。解决穿透:1布隆过滤或压缩filter提前拦截2数据库找不到也将空对象进行缓存。雪崩解决:惰性删除、定期删除)

    9 redis数据淘汰策略(6种,volatile-lru:从已设置过期时间的数据集,中挑选最近最少使用 的数据淘汰
    volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数 据淘汰
    volatile-random:从已设置过期时间的数据集中任意选择数据 淘汰
    allkeys-lru:从数据集中挑选最近最少使用的数据淘汰
    allkeys-random:从数据集中任意选择数据淘汰
    no-enviction(驱逐):禁止驱逐数据)

    10 redis中的管道有什么用(一次请求响应服务器能实现处理新的请求,即使旧的请求还未被响应,这样就可以将多个命令发送到服务器,而不用等待回复,最后在一个步骤中读取该信息)

    11 TCP三次握手四次挥手

    12 四次挥手中为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态 (2点:1可靠的实现TCP全双工链接的终止:大概就是说最后一次发的ACK不一定会被对方接收到,这段等待时间对方可能重发FIN。2允许老的重复的分节在网络中消逝:简单说就是俩个IP的端口建立连接后释放,又马上建立连接,这样后面建立的连接就成了前面连接的化身,等待2MSL是为了防止这种情况出现)

    13 top命令参数详情(top -d指定刷新时间、 top -p 123查看pid为123的进程cpu使用、 top -c显示该进程启动的命令行参数)

    14 linux查看磁盘的命令(看磁盘:df -h 、看当前文件夹:du-sh)
     

    祝早日get心仪offer

    大量面试经验以及学习资料书籍请关注:AVAJ

    回复"offer"进行获取

    365篇大厂java面经 你想要的我这里都有

  • 相关阅读:
    LNMP编译
    数据库(二)tab补全功能,使数据库支持简体中文,日志管理,备份脚本
    MySQL数据库(一)编译安装、安装后优化操作及超户忘记数据库密码的解决方法
    awk简题
    NFS
    WCF 传递数据量大时的报错处理
    Windows服务工程创建、部署
    反射创建BLL层控制器
    php yii环境简易配置
    php 搭建mvc框架
  • 原文地址:https://www.cnblogs.com/DoubleP/p/11310988.html
Copyright © 2011-2022 走看看