阿里面经分享

昨天晚上打点的话,约这两天面试。于是约的今天上午面试。整个过程进行了一个多小时(第一次面试这么长时间)。还不知道结果怎么样,先总结一下问题吧。

首先面试官先介绍了一下部门主要工作,主要方向是大数据平台开发。接下来正题:

1.首先当然是自我介绍了。

2.hashmap

  hashmap原理

    https://baijiahao.baidu.com/s?id=1618550070727689060&wfr=spider&for=pc

  hashmap对象的要求

    https://blog.csdn.net/qq_35489960/article/details/78926547

  如果不实现hashcode()方法会怎么样

    https://www.cnblogs.com/yuanblog/p/4441017.html

  如何保证hashmap并发

    https://blog.csdn.net/hello_worldee/article/details/77880349

  解决hash冲突的方法

    https://blog.csdn.net/qq_32595453/article/details/80660676

3.java类

  Java类实例化过程

    https://blog.csdn.net/justloveyou_/article/details/72466416

  Java静态变量实例化过程

    https://www.cnblogs.com/xunbu7/p/5079376.html

  如果自己编写一个string类会不会加载使用

    涉及到类的双亲委派机制了

4.java内存回收

  内存回收机制

    https://www.cnblogs.com/prophet-it/p/6498275.html

  java持久代(持久代中包含什么,在什么时候回收)

    https://www.cnblogs.com/yaoyuan23/p/5587548.html

    https://www.cnblogs.com/EasonJim/p/7489922.html

  java类卸载

     https://www.cnblogs.com/blueskyli/p/8589870.html

  java oom何时会发生

    https://www.jianshu.com/p/8be0daac8dc2

5.讲了讲关于自己做的spark的项目

6.mapreduce

  mapreduce工作原理

    https://www.jianshu.com/p/1e542477b59a

  Combiner是什么

    https://blog.csdn.net/qq_38262266/article/details/79185631

  mapreduce shufle原理

    https://www.cnblogs.com/felixzh/p/4680808.html

  数据倾斜

    https://blog.csdn.net/WYpersist/article/details/79797075

7.Hbase

  HBASE数据写入过程

    https://www.cnblogs.com/163yun/p/9020608.html

  RegionServer

    https://blog.csdn.net/u013080251/article/details/68980215

8.spring

  spring基本概念核心

    https://www.cnblogs.com/leeSmall/p/7643508.html

  如何依赖注入的,有哪些注解

  spring这一块整体不太熟悉

9.SQL语句执行原理

  https://www.cnblogs.com/ygzs007/p/9211712.html

10.100亿个整数,内存足够,如何找到中位数?内存不足,如何找到中位数?

  https://www.nowcoder.com/questionTerminal/359d6869d5ce4738bf9c9a42b67d9568

11.经典问题:对于一个m*n的网格,从左上角的方格到右下角的方格,共有多少条路径

  https://blog.csdn.net/zhouqianq/article/details/76922494

  

二面

开头肯定是自我介绍了

之后主要是结合项目问了一些问题

1.项目最大的难点是什么?

  我回答是kafka,之后问了kafka的工作原理,基本机制

  Kafka高存储如何实现

2.hashMap如何保证线程安全

  ConcurrentHashMap,如何实现的线程安全

3.悲观锁和乐观锁

4.数据库的事务

5.数据库索引

6.辅助驾驶项目如何实现的,采用什么算法?

  yolo,基本原理

 

三面   等了将近两周终于等到了三面

1.介绍一下项目

2.项目中用到HBase,说说RowKey

  scan的作用

  热点问题

3.synchronized与Lock的区别

4.java变量可见性?如何解决?

5.map线程安全,queue线程安全的实例

6.编程题:旋转数组找目标值

 

四面   刻骨铭心的一次面试  谈的都是架构层面的东西,没有深刻的知识点,但是是很失败的一次

1.首先谈谈Hadoop,整体架构

2.根据Hadoop衍生出来的spark架构如何

3.flink了解过吧,架构是怎样的

4.计算机操作系统学过吧,咱们来聊聊计算机底层。

  构建一个数据结构,来实现计算机内存管理,要考虑内存分配、内存释放、内存整合。

  自己当时刚开始想到了用Hashmap来做,方便管理,之后因为Hashmap占用内存太大,要换一个。

  之后想到的用最简单的数组(也不知道当时咋想的,那个么多数据结构非要用数组干嘛。。。),之后就构建如何进行内存分配、回收,自己挖的坑,自己就这样跳进去了。

  事后想了一下,可以用堆做内存管理呀。

posted @ 2019-07-24 15:40  夏延  阅读(257)  评论(0编辑  收藏  举报