专科生作业帮大数据面经(已拿offer,附详细答案)

一位专科警犬专业的学生分享了他在作业帮的大数据面试经历,成功拿到offer。面试涵盖数据库索引结构、慢查询优化、垃圾收集算法等内容,体现了即使非传统背景也能通过努力在大数据领域取得成就。
摘要由CSDN通过智能技术生成

专科生作业帮大数据面经(已拿offer,附详细答案)

这位同学是学习群的同学,之前已经写了一篇阿里一面的面经:#专科生阿里大数据一面面经「已过」「附详细答案」

如今又收到了作业帮的大数据offer,他是甘肃职业学校的专科生,而且是罕见的警犬专业,但他学习非常刻苦认真,值得我们学习!


以下答案由我重新整理:


一面

**

2.数据库索引结构有哪些?
(1)生成索引,建立二叉查找树 生成索引
(2)建立B-Tree 生成索引
(3)建立B -Tree 生成索引
(4)建立Hash,基于InnoDB和MyISAM的Mysql不显示支持哈希(5) 位图数据结构,BitMap,少量主流数据库使用,如Oracle,mysql不支持;


3.紧接着又问了如何定位并优化慢查询sql?
(1)根据慢日志定位慢查询SQL 
(2)使用explain等工具分析SQL 
(3)修改SQL或者尽量让SQL走索引以优化查询效率

   
4.索引是建立的越多越好吗?
(1)数据量小的表不需要建立索引,建立会增加额外的索引开销;(2)数据变更需要维护索引,因此更多的索引意味着更多的维护成本;(3)更多的索引也意味着需要更多的空间


5.说一下你知道的垃圾收集算法和垃圾收集器

垃圾收集算法(垃圾回收的方法论):
    1.复制算法:此种算法是将空间分成两部分,每次使用其中的一部分。在垃圾回收时,将正在使用的内存中存活的对象复制到未使用的内存中,然后清除正在使用的内存。这种算法不会产生碎片,但会造成空间的利用率低。        2.记清除法:此种算法是将垃圾收集分为两个阶段,标记阶段和清除阶段。标记阶段是将所有需要回收的对象进行标记,然后标记结束后,对标记的对象进行回收。这种算法会产生大量碎片,效率低下。

    3.标记整理法:此种算法是将所有需要回收的对象进行标记后,将所有存活的对象移到另外一端,其他不需要保留的全部清理。此种算法解决了标记清除法所产生的碎片问题。

    4.分代法:根据对象生命周期的长短进行分块,在根据每块区间不同的特点,使用不同的算法进行垃圾回收,从而提高垃圾回收效率。比如:Java虚拟机中的堆采用了这种方法分成了新生代和老年代,然后对于不同的代采用不同的垃圾回收算法。新生代采用了复制算法,老年代采用了标记清除法。

    5.分区法:将空间分成连续多个不等的小区间,每个区间单独使用,独立回收。优点是一个可以控制多个区间的回收。

    6.引用计数法:此种算法是对对象设置一个引用计数器,每增加一个变量对它的引用,计数器就加1,反之,减1。只有当计数器的值为0时,该对象才会被回收。该算法简单,也有缺点,对对象操作频繁,增加了系统消耗;也无法处理循环引用的情况。

垃圾收集器(垃圾回收的具体体现):
1.新生代:Serial、ParNew、parallel Scavenge

2.老年代:Serail old、ParNew old、CMS

========================================

1.新生代回收器的详细介绍:

a.Serial:它是一个单线程的垃圾回收器,单线程的意义是:只会使用一个CPU或者一条垃圾收集线程去完成垃圾收集工作。而在它进行垃圾收集工作的时候,其他线程必须暂停,直到垃圾收集结束。

b.ParNew:它是serail的多线程版本,基本操作和Serial一样。该收集器一般和CMS搭配工作。

c.parallel Scavenge:此收集器的目的是达到一个可控制的吞吐量。

吞吐量=运行用户代码的时间/(运行用户代码的时间 垃圾回收的时间)

d.GC自适应策略:JVM会根据当前系统运行情况收集性能监控情况,动态调整这些参数以提供最适合的停顿时间或者吞吐量。

=======================================老年代垃圾收集器:1.Serial Old:是Serail 的老版本,也是单线程收集器,该收集器主要是给Client模式下的虚拟机使用的。Note:分代收集算法:新生代采用复制算法,并暂停所有用户线程。     老年

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值