简单说一说一些面试的时候会问到的问题

1.加密解密,几种算法?

加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密技术包括两个元素:算法和密钥。
(1)算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤。
(2)密钥是用来对数据进行编码和解码的一种算法。
两种算法:
(1)对称加密算法:文件加密和解密使用相同的密钥
(2)非对称加密算法:公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

2.多线程了解吗?什么是线程安全?
多个线程并发执行,同一时间执行多于一个线程。线程安全就是线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。

3.hashmap原理
HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

数组:存储区间连续,占用内存严重,寻址容易,插入删除困难;
链表:存储区间离散,占用内存比较宽松,寻址困难,插入删除容易;
Hashmap综合应用了这两种数据结构,实现了寻址容易,插入删除也容易。

4.hashmap的线程安全性,它是安全的吗?为什么是2的幂?
不安全,在两个线程同时尝试扩容HashMap时,可能将一个链表形成环形的链表,所有的next都不为空,进入死循环。
在两个线程同时进行put时可能造成一个线程数据的丢失。
因为假如不是 2 的倍数,那么 length-1 的二进制后面就不可能全是 1,做与运算的时候就会造成空间浪费。

5.Mysql数据库引擎,区别特点
(1)InnoDB,频繁的更新、删除操作的数据库。
(2)MyISAM,主要是用于插入新记录和读出记录。
(3)MEMORY,所有的数据都在内存中,数据的处理速度快,但是安全性不高。

6.什么是红黑树
红黑树又称红-黑二叉树,它首先是一颗二叉树,它具体二叉树所有的特性。它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。

7.内存屏障是什么
内存屏障,也称内存栅栏,内存栅障,屏障指令等, 是一类同步屏障指令,是CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。
大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障成为必须。
语义上,内存屏障之前的所有写操作都要写入内存;内存屏障之后的读操作都可以获得同步屏障之前的写操作的结果。因此,对于敏感的程序块,写操作之后、读操作之前可以插入内存屏障。
通俗说就是一个栅栏,挡一下再进行,不然太乱了(减少乱序)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值