zoukankan      html  css  js  c++  java
  • 面试试题汇总(3)

    1、聊一聊java中的加密算法。
    ①、base64:属于编码格式,非加密算法,可逆加密
    ②、MD5:信息摘要算法,不可逆加密,返回128bit长度
    ③、SHA-1:安全散列算法,不可逆加密,返回160bit长度,摘要比MD5长32位,安全性更高,但运行速度比MD5慢
    ④、HMAC:散列消息鉴别码,不可逆加密,基于秘钥的hash算法的认证协议
    参考文章:https://www.cnblogs.com/Free-Thinker/p/5825588.html

    2、spring中使用到了哪些设计模式
    ①、BeanFactory和applicationContext应用了工厂模式
    ②、在bean的创建中,Spring为不同scope定义的对象,提供了单例和原型等模式实现
    ③、AOP使用了代理模式、装饰器模式、适配器模式
    ④、各种监听事件,是观察者模式的典型应用
    ⑤、类似jdbcTemplete使用了模板模式

    3、volatile与synchronized的比较
    ①、volatile是线程同步的轻量级实现,所以volatile的性能要比synchronized好
    ②、volatile只能修饰变量,synchronized可以修饰方法、代码块。
    ③、多线程访问volatile不会发生阻塞,而synchronized会发生阻塞。
    ④、volatile是变量在多线程之间的可见性,synchronized是多线程之间访问资源的同步性
    ⑤、volatile不能保证变量的原子性,synchronized可以保证变量的原子性

    4、注解@resource与autowire的区别
    ①、autowire是spring定义的,在org.springframework.beans.factory.annotation,默认是按类型装配bean
    ②、resourse是J2EE定义的,默认是按名称装配bean,找不到则按类型装配

    5、mysql数据库引擎
    mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB
    myisam查询效率比innodb快1-2倍,
    myisam是表级锁,非事务安全,适用于一次插入多次查询的表,或者是读写分离中读库中的表
    innodb是行级锁,提供回滚,提交,崩溃恢复的事务安全,唯一支持外键,适用于频繁更新,插入,读写分离写库中的表

    6、简单工厂模式与抽象工厂模式有什么区别
    利用工厂来创建对象的设计模式叫简单工厂模式,抽象工厂模式简单的可以说是工厂的工厂

    7、redis应用场景
    ①、缓存热数据(经常被查询到但不太会修改或者删除的数据)
    ②、计数器,记录点击数等应用
    ③、队列
    ④、最新列表,如果获取最新新闻列表,使用redis的LPUSH命令构建list

  • 相关阅读:
    JAVA 从一个List里删除包含另一个List的数据
    CentOS 常用命令合集
    010---软链接和硬链接
    009---linux进程管理
    008---vim编辑器
    007---归档、压缩、解压缩
    006---Linux用户、群组和权限
    005---Linux文件与目录管理
    001---Linux系统的启动过程
    002---Linux系统目录结构
  • 原文地址:https://www.cnblogs.com/conswin/p/9398673.html
Copyright © 2011-2022 走看看