腾讯、美团等六家大厂收到 offer,浅谈大数据面试经历,2021Java 面经
上来怼了我一堆 python 的东西,我 python 当脚本用的,说能不能换个方向聊一聊,然后怼了一堆
- 期望 
- 准确率召回率 
- AUC 和 ROC 
- 决策树聊一聊 
- 阐述自己如何设计模型的 
开始问题偏向于算法,后来我说我其实擅长架构类的东西…小姐姐说,这样啊,不过看你答的还可以啊,架构我就不问你了…
二面
问了些数据仓库的问题,雪花型和星型数据库等,我表示一脸懵逼,然后和他扯 Spark Streaming,他对这个还挺感兴趣的,算是晃点住了,后面说加班怎么看,然后他开始介绍他 NB 的团队,我开始瞻仰,膜拜…最后问问能不能来实习,基本回答都是能(不能的好像都没了…),时间节点自己需要把握一下,最好等到所有 offer 都下来的时候,我自己预估是 10 月中旬吧
 
 [](
)头条
=====================================================================
难度:father
一面
- spark streaming 怼一波 
- 如何保证 exactly once 
- tcp 中全连接池和半连接池等 
- 剑指 offer 上一道题:二叉树蛇皮走位?? 
二面
- yarn 调度算法 
- 扯了扯 spark streaming 
- 一道算法,树中两节点找最亲的爸爸… 
- 实习聊一聊 
面试官不是很感冒,问我还有什么补充了,我竟然说没…猝,血淋淋的教训啊
 
 [](
)搜狗
=====================================================================
难度:hard
一面
两个面试官,发了张卷子,里面什么题都有:
- 排序、有重复的数组中查询某数的 index,注意不要退化成 o(N)的算法 
- 在一棵树中查找两个节点的最近公共父节点(就是头条二面那道题) 
- linux $# $0 等含义 
- 智力题 50 红 50 黑 分配两袋子摸球问题 
- n!后面有多少个 0 
- hdfs 的基本操作 
- 大数据处理问题,用 spark 处理下 
二面
- 问我为啥不考虑读博?(学的太渣,感觉没有必要读…) 
- 问我对前面面试官的看法(你要炒他们吗。。。) 
- 实习聊一聊 
[](
)贝壳
=====================================================================
难度:normal+
讲道理贝壳我是抱着去打小怪的心态去的,并没打算留下的,但是面试体验很好,最后给的薪水超高、福利也爆炸,缺点的话大家懂得,偏养老,看大家选择吧。算是帮一面的大哥打波广告吧
一面
数据倾斜怎么处理,我个人感觉我回答的比较差,以前没仔细思考过这个问题,后来查了查发现里面有很多道道。
但面试官很 nice,问了问我其他方面,感觉还不错,后面和我讨论了 30 分钟的职业发展问题,感觉来的很值,大哥我能加你微信吗…
二面
比较年轻的高冷小哥面我的
- Spark 架构 
- shuffle 过程 
- Spark Streaming 原理 
- 一道关于棋盘左上角跑到右下角的问题,从搜索、dp、到数学的方法都讨论了一遍 
- 机器学习捎带说了一嘴 
- 实习聊了聊 
[](
)六大厂面试中遇到的问题
==============================================================================
Java
1.线程并发
Q:进程和线程的区别?
Q:进程间通信方式?
Q:线程间通信方式?
Q:Callable、Runnable 区别?
Q:Future 和 Callable 的关系?
Q:创建线程的方法?
Q:volatile 关键字的作用?
Q:synchronized 的用法?
Q:讲一下 Java 内存模型?
Q:CountDownLatch 和 CyclicBarrier 了解吗?
Q:Semaphore 用法?
Q:ThreadLocal 作用?
Q:单例与多例的区别?
Q:锁释放的时机?
Q:notify 唤醒时机?
Q:notify 和 notifyAll 区别?
Q:讲一下 Lock?
Q:锁的种类?
2.集合
集合相对容易,常规送分题,基本都会问到 HashMap
Q:TreeSet 特性?
Q:LinkedHashMap 特性?
Q:ArrayList 与 Vector 的差别?
Q:LinkedList 与 ArrayList 的差别?
Q:HashMap 与 HashTable 的差别?
Q:Set 与 List 的差别?各自有哪些子类?
Q:hashCode()、equals()、==区别?
Q:Java 容器中添加的对象是引用还是值?
Q:Iterator 和 ListIterator 的区别?
Q:HashMap 实现?
Q:ConcurrentHashMap 和 HashTable 区别?
3.GC
这块主要介绍 JVM 内存的划分以及 GC 算法
Q:什么是内存泄漏和内存溢出?
Q:导致内存溢出的因素?
Q:JVM 内存划分?
Q:简单说一下垃圾回收?
Q:Minor GC、Major GC 和 Full GC 的区别?
Q:Full GC 触发时机?
Q:什么是常量池?
4.类加载
面试时有人问到过,回去大概查了下
Q:讲一下类加载过程?
Q:Java 初始化顺序?
Q:Java 类加载器的种类?
Q:双亲委派模式了解吗?
5.面向对象
这些问题很弱鸡,但考的也比较多
Q:面向对象的三大特性?
Q:Java 中接口和抽象类区别?
Q:重载和重写?
6.设计模式
Q:例举一下你了解的设计模式?
Q:手撸单例?
8.网络协议
Q:TCP3 次握手 4 次挥手?
Q:TCP 为什么是一定要是 3 次握手,而不是 2 次或 3 次以上?
Q:TCP 为什么是 4 次挥手,而不是 3 次呢?
Q:TCP 半连接池与全连接池?
Q:TCP 和 UDP 的区别?
Q:TCP 和 UDP 的应用?
Q:TCP/IP 与 OSI 模型?
Q:ping 命令基于哪种协议?
Q:阻塞式和非阻塞式 IO 区别?
[](
)数据库
======================================================================
用数据库做过开发,但是了解的不
深入,面试问我会不会写 SQL 时,我回答“简单的可以,复杂的尝试一下”…SQL 复杂起来真不是人写的…
Q:聚集索引和非聚集索引区别?
Q:where、group by、having 执行顺序?
Q:星型、雪花结构?
Q:SQL 纵向转横向,横向转纵列?
Q:脏读、不可重复读、幻读?
Q:join 实现的三种方式?
[](
)Linux
========================================================================
Q:查看 xxx 端口占用?
Q:查看 xxx 进程占用?
Q:查看 CPU 使用情况?
Q:查看内存使用情况?
Q:查看硬盘使用情况?
Q: 0 、 0、 0、n、KaTeX parse error: Expected 'EOF', got '#' at position 1: #?、*、 @ 、 @、 @、?、$$含义?
Q:>、>>区别?
Q:>、1>、2>、2>&1、2>1 区别?
Q:定时任务命令?
[](
)算法
=====================================================================
算法的海洋的无边无际,但是应付面试题的算法,个人认为《剑指 offer》一本足矣…
个人《剑指 offer》刷了大概四遍,基本上看到一道题,所有解法都知道,面试上也基本从这里出我遇到现场出的算法题(除了《剑指 offer》上的),一般是暴力搜索题,不要上来想 DP…
经典问题
- 子串匹配问题 
- 子序列匹配问题 
- 合并链表 
- 树中两个节点最近的公共父节点 
- 快排、堆排 
- 各种类型的二分查找 
- 两数交换,不用第三变量 
- 水塘抽样,大佬题解 
智力题
- 一根棍子随机折三节,组成三角形的概率 
- 倒水问题 











 
    
评论