首页 > 华为7月面试八股文及答案
头像
interviewtop
发布于 2021-07-22 08:08
+ 关注

华为7月面试八股文及答案

写在前面

大家好,我是小牛, 微软程序员一枚,之前经常看见大家在 牛客上有 面经分享,但大多数没有答案。由于小牛和几个BAT小伙伴整理了相关八股文题库,这次就当一回工具人,把题目和对应的答案奉上。
 
这次面经基本都被我之前整理的大厂面试八股文涵盖了,有兴趣的同学可以到我之前的讨论贴查看我之前整理的八股文

稍微点评一下,华为这波面试我摘取了其中八股文部分,整体的这次面试还是基于面试者项目展开的,大家在准备项目简历的过程中,还是得注意扬长避短!

StringBuff和StringBuilder

String类采用利用final修饰的字符数组进行字符串保存,因此不可变。如果对String类型对象修改,需要新建对象,将老字符和新增加的字符一并存进去。

StringBuilder,采用无final修饰的字符数组进行保存,因此可变。但线程不安全。

StringBuffer,采用无final修饰的字符数组进行保存,可理解为实现线程安全的StringBuilder。

compator和compatable的区别

Comparable 是一个接口,用于对象内部的比较方式,该接口需要实现的方法是:

public interface Comparable<T{
    public int compareTo(T o);
}

Comapator 也是一个接口,该接口有个compare方法,该接口需要实现的方法是:

public interface Comparator<T{
    int compare(T o1, T o2);
}

除该方法外,comparator还可以实现其他方法。

线程池类型

  1. newCachedThreadPool 可缓存线程池,可设置最小线程数和最大线程数,线程空闲1分钟后自动销毁。
  2. newFixedThreadPool 指定工作线程数量线程池。
  3. newSingleThreadExecutor 单线程Executor。
  4. newScheduleThreadPool 支持定时任务的指定工作线程数量线程池。
  5. newSingleThreadScheduledExecutor 支持定时任务的单线程Executor。

Arraylist和LinkedList

ArrayList和LinkedList都是可伸缩的数组,即可以动态改变长度的数组。ArrayList基于存储元素的Object[] array来实现的,它们会在内存中开辟一块连续的空间来存储,支持下标、索引访问。但在涉及插入元素时可能需要移动容器中的元素,插入效率较低。当存储元素超过容器的初始化容量大小,ArrayList均会进行扩容。ArrayList不是线程安全的,其方法不具有同步性质。LinkedList也不是线程安全的。LinkedList采用双向列表实现,对数据索引需要从头开始遍历,因此随机访问效率较低,但在插入元素的时候不需要对数据进行移动,插入效率较高。

Redis保护机制RDB AOF

RDB即将当前数据生成快照,并保存于硬盘中。可以通过手动命令,也可以设置自动触发。AOF通过日志,对数据的写入修改操作进行记录。这种持久化方式实时性更好。通过配置文件打开AOF。




全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐