ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

面试题day20

2022-08-03 23:04:08  阅读:154  来源: 互联网

标签:面试题 缓存 删除 对象 Spring redis day20 创建


泰隆银行

  • 计算机网络、数据库、操作系统有学过吗

  • TCP三次握手的过程

    seq x

    ack x+1 seq y

    ack y+1

  • 拥塞避免的方法

    慢开始、拥塞避免、快恢复、快重传

  • 数据库创建索引的语法

    CREATE INDEX indexName ON table_name (column_name)

  • 什么是平衡二叉树

    左子树和右子树插值不超过一

  • 怎么判断循环链表

    hashset、快慢指针

  • Linux语言基础

    • chmod 授权
    • ps -ef | grep 查看进程
    • kill -9 杀死进程
    • tail -f 实时读取日志
    • netstat -anp | grep 查看端口号
    • ping 测试地址
    • mkdir 创建文件夹
    • rmdir 删除文件夹
    • touch 创建文件
    • rm 删除文件
    • mv 移除文件
    • cp 复制文件
    • cat 查看文件
  • java基础:final的作用,修饰函数时呢?

    变量不可修改、类不可继承、方法不能重写

  • set,list,map是否都继承了collection

    map没有

  • spring框架了解吗,平时怎么学习java的

    Spring IOC 容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的。

    Spring AOP 就是基于动态代理的,如果要代理的对象,实现了某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用 JDK Proxy 去进行代理了,这时候Spring AOP会使用 Cglib 生成一个被代理对象的子类来作为代理。

顺丰

9.10一面

  • 聊项目

  • redis说说你的了解,数据类型,持久化方案,内存删除策略。

    • 数据类型
      • string 缓存 session共享 分布式锁
      • list 消息队列
      • hash 存储对象
      • set 集合
      • zset 排行榜
    • 持久化
      • aof 命令
      • rdb 快照 默认
    • 内存删除策略
      • 定时删除
        • 创建一个定时器,当key有过期时间时,时间一到,定时器任务就会立即执行 将expires区域和k-v区域都删除
        • 优点:节约内存
        • 缺点:cpu压力较大,此时无论cpu负载量多高,都会占用cpu来释放,影响redis的吞吐量
      • 惰性删除
        • 数据过期后,并不会立刻删除 等到该数据下次访问的时候,redis才会删除该数据,并返回该值为nil
        • 优点:节省cpu的资源
        • 缺点:可能存在大量的,无人访问的数据会一直存在服务器
      • 定期删除
        • 每秒钟定期对redis中每个库的数据进行轮询 轮询的数据,对过期的数据随机删除一部分 如果随机删除的数据占轮训数据的比例超过一定值,继续轮询删除
  • redis双删不一致情况。

    • 先删除缓存再更新数据库
      • a删除缓存;b读db写入缓存;a更新db;a再删除缓存
    • 先更新数据库再删除缓存
      • 缓存失效,a读取db;b更新db删除缓存;写入缓存
  • 说一说JVM的类加载过程。

    加载 验证 准备 解析 初始化

渤海银行

  • 介绍实习项目

  • 用过哪些数据库

    mysql redis

  • 说一说mysql数据库底层数据结构的优点和缺点

    b+树

  • 如何优化慢sql

    • 发现慢SQL

      • show processlist查询当前慢sql的语句
      • 开启慢日志 set global slow_query_log=1;
    • 优化慢SQL

      • explain sql语句的方式查看慢sql的执行计划
        • type 表示表的连接类型
        • key 表示实际使用的索引
        • rows 扫描出的行数(估算的行数)
      • 分析该SQL语句索引使用情况,全表扫描情况
  • 静态方法和非静态方法的区别

    调用方式、从属、加载实际

  • 知道什么是 threadlocal 吗

    ThreadLocal本身并不存储值,它只是作为一个key来让线程从ThreadLocalMap获取value

  • 说一说mvc架构的好处

    低耦合性、高重用性和可适用性、较低的生命周期成本、快速的部署、可维护性

多益

软件研发工程师面经

  • SpringBoot 对 Spring 的改进

    监控、启动器、自动配置

  • 项目中如何用到 Spring

  • 了解 IoC 吗,说一下对于 IoC 的理解

    Spring IOC 容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的。

  • MyBatis 如何使用,源码有了解吗

    配置Mybtis核心配置文件(一般将其命名为 mybatis-config.xml)
    根据核心配置文件创建 SqlSessionFactory 对象
    通过 SqlSessionFactory 对象创建 SqlSession 对象
    通过 SqlSession 对象操作数据库 CRUD
    提交事务
    释放资源

  • 登陆模块如何做的

  • 链表与队列的使用场景

    多写少读、多读少写

  • TCP 为何要进行三次握手

  • 同一个网段下的主机如何通信 ,不同网段下的主机如何通信

    广播协议 路由转发

  • GC 垃圾回收算法

    分代 清除 复制 压缩

  • 什么是线程安全

    多线程操作无数据丢失

  • 如何判断死锁,怎么避免死锁

    双方都持有锁并需要避免多次锁定、加锁顺序执行

  • 设计模式的六大原则

    单一原则(Single Responsibility Principle):一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;

    里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能;

    依赖倒置原则(dependence inversion principle):面向接口编程;(通过接口作为参数实现应用场景)

    接口隔离原则(interface segregation principle):建立单一接口;(扩展为类也是一种接口,一切皆接口)  

    迪米特原则(law of demeter LOD):最少知道原则,尽量降低类与类之间的耦合;

    开闭原则(open closed principle):用抽象构建架构,用实现扩展原则;

  • JVM 调优参数

    -Xms4g 初始堆大小4g

    -Xmx4g 最大堆大小4g

    -XX:+UseParNewGC 设置年轻代为并行收集

    -XX:+UseConcMarkSweepGC 老年代使用CMS内存收集

    -XX:+HeapDumpOnOutOfMemoryError 出现堆内存溢出时,自动导出堆内存 dump 快照

  • 如何判断对象是否死亡

    无其他引用 可达性算法

  • 自定义线程池的最大线程数如何设定

  • 某一个项目隔天上线,但前一晚出现bug,你会怎么做

  • 淘宝商城如何实现个性推送,谈谈你的理解

  • HashMap 底层了解吗

  • 为什么加载因子是 0.75

    过高 碰撞过多 过低 扩容过多

  • 有什么语言也能够实现跨平台

  • 全局变量的缺点,介绍一个小实例

    长期占用内存、难以定位修改、不利于后期的维护

  • 为什么要有包装类

    泛型、null值、序列化接口

标签:面试题,缓存,删除,对象,Spring,redis,day20,创建
来源: https://www.cnblogs.com/faetbwac/p/16549014.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有