评论

收藏

[Hbase] 笔试被侮辱、内推被拒绝。为了入职头条,音视频服务器开发难点

数据库 数据库 发布于:2021-12-26 14:03 | 阅读数:286 | 评论:0

整个一月份都在刷入门视频和《Hadoop权威指南》,又临近期末,每天5点半起床,看两个小时的视频然后上课或者复习期末考。
二月:
剑指offer刷一遍、数据结构、JavaSE、JVM、多线程
①剑指offer有些搞不懂的直接跳过,等下个月第二遍再刷;
②数据结构重点是各种树、二叉树、红黑树的一些特性以及链表的特性;
③JavaSE主要是类对象接口的区别,能不能继承,Static的特点,各种Hashmap,ArrayList等集合框架的原理源码;
④JVM是根据网上整合的高频面试题进行学习的,刷了一遍面试题之后才去看周志明的《深入理解Java虚拟机》,JVM难的不是JVM布局,垃圾回收算法等这些理论,而是结合代码和项目场景。比如说一段代码,有很多个类、方法,其中又有静态类和全局变量,这时候项目跑起来的时候哪些先加载,哪些变量存放在哪个区,不止要懂理论,还要结合代码懂理论。还有就是项目中的OOM,栈溢出,JVM的参数调优等等。
⑤多线程也是刷网上面试题和博客的,几本多线程的书都是一坨一坨的,理解不来。先动手把几个多线程实现方法实现了一遍,然后分析优缺点,再由此切进去线程不安全和各种锁。多线程学习不同JVM,自己多动手,多调试一下,控制台都会告诉你答案。
三月:
剑指offer二刷,数据库、操作系统、网络、准备面试
①剑指offer第二遍重点刷第一遍时思路懂代码不懂的。
②数据库刷了牛客网SQL实战100多题的,其他都是索引原理,悲观乐观锁等理论。
③操作系统刷高频面试题。死锁的产生条件、解决方法等等,资源调度算法,并发和并行等。
④网络也是刷面试题。三次握手四次挥手以及为什么要这样做、TCP和UDP、网页请求过程、DNS解析过程、网络模型、响应码的意思等。
⑤我每刷一道算法或者理解了一道面试题都会进行整理,所以到面试之前看看整理的文档和博客就行,异常轻松。这个月也继续投递简历进行面试,从三月份开始都是边投边准备,不存在全部准备好再去投。
三月份收了京东、瓜子二手车等二线大厂的offer。
四月:
大数据项目、手写剑指offer、继续面试
①三月份被阿里菜鸟部门的三面面试官怼了一发,说简历没有大数据项目面大数据岗,理论会再多有什么用,于是打算在四月份补一下项目。
②在补项目的同时,不忘算法,练习白板写代码。
四月份收了腾讯、去哪儿一些offer,腾讯和去哪儿终面都得现场面,所以一天飞北京,一天飞深圳。拿到腾讯offer的时候跟HR商量能不能去上海或者北京的base,HR说不行,于是就没去了。选工作和生活城市有一个硬性标准:离家远!那些在北方读书的同学毕业之后一直要往家里跑,而我则是一直往外跳,或许是因为在厦门待了四年吧,家乡也是「围城」啊。
5-12月:
实习,看框架源码,面试,整理面经
最后选择了去Kyligence实习了,刚好趁这个机会学习了Kylin源码,看了Hadoop和Spark的部分源码。后面的面试也是为了倒逼自己学习,在面试中找不足,也顺便整理了一些面试资料;
DSC0000.jpg

总结:
一定要列好自己的学习计划,也要学会根据自己的学习情况调整计划。项目是面试的敲门砖,也是面试的大头,我是从大二出去实习的,所以在项目这边可以花较少的时间,不用从零开始学。底层理论一定要会,不然大厂无望。算法一定要硬刚,总共就那几种题型,我刚开始也很抵触的,觉得太难了,后面迎难而上也就那么回事。第一遍不行就第二遍,不然就第三遍,直到现在剑指offer里面也有一些我不懂的题目,但我也不会去深究,大局为重,不抠细节。
DSC0001.jpg

别的同学放寒假的时候,自己一个人在学校旁边租了个小房子学到过年前夕;为了巩固实习的项目更好地面试,跑了几次之前实习的公司请同事吃饭问项目细节;为了阿里面试用肝硬刚,连夜复习;简历投的太多,信息都被卖了,而且一听到手机响就以为是面试电话;去腾讯终面,在深大的通宵自习室连夜复习。
以上是我过去一年的准备,说说我从投递简历到收offer这一个月的准备。
1.复习算法。把以前刷过的算法题分类整理了一下,因为之前有整理过,所以复习起来没用多少时间,还特意去理解了长长的KMP算法,LRU算法。
2.复习理论基础。除了复习整理的面经和资料之外,还特意去了解了一下Golang,因为头条用的go语言。
3.特意准备了几个项目技术难点,能在面试的时候炫一下。
四、头条一面(Java+项目)
1.倒排索引
2.讲讲redis里面的哈希表?
3.happen-before的规则?
4.volatile修饰符,synchronize锁
5.java单例模式的实现,懒汉、饿汉?
6.进程与线程的区别,多进程和多线程的区别?
7.HashMap原理,为什么用红黑树,红黑树的特点?
8.快排时间空间复杂度,最好最坏的情况,优化方案?
9.TCP的拥塞控制,具体过程是怎么样的?UDP有拥塞控制吗?如何解决?
10.讲讲了解的垃圾回收算法和回收器,什么时候执行STOP THE WORLD?
11.了解Go语言吗?
五、头条二面(大数据+项目)
1.Kylin的项目架构
2.Paxos和ZAB协议
3.CAP理论,分区容错性的意义
4.大表Join小表优化,如何处理数据倾斜?

  • 讲一下最大堆和最小堆
    6.HDFS的读取、写入,容错处理。(源码)
    7.MapReduce的过程(第一版和第二版的)
    8.MR shuffle,Spark shuffle。
    9.namenode HA,脑裂,Yarn的调度机制。
  • Hive的内部表和外部表区别、数仓建模模型、数仓分层、雪花模型和星型模型。
    11.了解ClickHouse吗?它与Kylin的区别?
六、头条三面(算法+场景题)
1.LRU算法实现(伪代码)
2.链表倒数第K个数(讲思路)

最后
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
Android学习PDF+架构视频+面试文档+源码笔记
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
DSC0002.jpg

【算法合集】

【延伸Android必备知识点】

【Android部分高级架构视频学习资源】
Android精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!


关注下面的标签,发现更多相似文章