三面头条,靠P9级算法分享的两本算法pdf书籍,轻松拿到offer

头条一面(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小表优化,如何处理数据倾斜?

  1. 讲一下最大堆和最小堆

6.HDFS的读取、写入,容错处理。(源码)

7.MapReduce的过程(第一版和第二版的)

8.MR shuffle,Spark shuffle。

9.namenode HA,脑裂,Yarn的调度机制。

10. Hive的内部表和外部表区别、数仓建模模型、数仓分层、雪花模型和星型模型。

11.了解ClickHouse吗?它与Kylin的区别?

头条三面(算法+场景题)

1.LRU算法实现(伪代码)

2.链表倒数第K个数(讲思路)

3.一堆螺丝和螺母用最短时间匹配(代码实现)

4.求每天浏览页面的新用户(Hive QL实现)

5.求抖音小视频每日点击量最高的10个(Hash + 最小堆)

程序员代码面试指南—IT名企算法与数据结构题目最优解

  1. 栈和队列
  2. 链表问题
  3. 二叉树问题
  4. 递归和动态规划
  5. 字符串问题
  6. 大数据和空间限制
  7. 位运算
  8. 数组和矩阵问题
  9. 其他题目

排序及数据结构与算法

一、冒泡排序

二、选择排序

三、插入排序

四、快速排序

五、归并排序

六、希尔排序

七、堆排序

八、基数排序(桶排序)

九、递归

十、链表

十一、栈

十二、队列

十三、二叉树

《程序员代码面试指南—IT名企算法与数据结构题目最优解》及《排序及数据结构与算法》感兴趣的朋友们私信我回复【666】即可免费领取

小结

这次的笔试里总共有5道,我AC了2.5题,第一题90%,第二题90%,第三题70%,不算好,但勉强通过了。去年的这个时候我可是连题目都看不懂的,看得懂的只知道用嘴怎么说,不会用代码实现。通过这段时间的算法训练,总结了如下几点算法笔试经验:

1.平时刷题一定要总结归纳,最好分类。比如关于树的题型,链表的,数组等等,观察它们的解题思路,总结出解题套路。

2.积累工具类算法。什么叫工具类算法?就是你解一道算法题需要用到另一种算法,这个被调用的算法就是解决这道算法题的工具。比如常见的「深度优先遍历」、「广度优先遍历」、「01背包」、「KMP算法」以及常见的选择和排序算法都是经常使用的工具类算法。

3.学会抽象题目。笔试算法题不同于面试算法,不会直白跟你说要使用哪种算法去解答,更多的要自己学会抽象,抛开题目本身,要明白内部讲的是什么,别被题目的糖衣炮弹迷惑了。只有把题目抽象成最原始的算法你才能更好地使用工具类算法进行解答。

如何准备头条面试?

头条面试和其他大厂可能大同小异,但就是这个小异才是关键地方,能异于其他人的地方。可以从如下几个方面去做准备:

1.特意准备几个面试题源码。像我在回答一些中规中矩面试题的时候,都会从源码角度出发。比如常见的HashMap等集合类,多线程的各种锁以及大数据框架的部分源码。

2.特意准备项目难点。面一些大厂的时候避免不了被问到项目难点,不可能用普通Bug含糊过去啊。这边可以从项目用到的技术栈出发,去寻找技术栈在项目中会存在的难点,然后套进自己的项目,找个自己能懂,最好能全懂的。

3.针对性去了解公司的技术栈使用情况。比如头条使用Go,众人皆知,那为什么我不突击学习一下呢?比如从业内人士得知头条最早使用的是Kylin框架,后面慢慢转为ClickHouse,那我必须了解一下两者的不同啊,而且可以结合头条的业务场景。

《程序员代码面试指南—IT名企算法与数据结构题目最优解》及《排序及数据结构与算法》感兴趣的朋友们私信我回复【666】即可免费领取

全部评论

相关推荐

ResourceUt...:楼主有自己的垃圾箱,公司也有自己的人才库
点赞 评论 收藏
分享
09-17 10:53
四川大学 C++
牛客91242815...:会写标书没有任何卵用,鉴定为横向垃圾导师的受害者
点赞 评论 收藏
分享
头像
10-22 20:13
中南大学 Java
序言大家好呀。我是希晨er,一个初入职场的程序猿小登最近上班摸鱼刷到了一篇文章:10年深漂,放弃高薪,回长沙一年有感,还有聊聊30岁大龄程序员过往的心路历程,突然就有点感慨。我如今也做出了和大明哥一样的抉择,只是更早。此外我22年的人生,好像从来没好好记录过。正好现在工作不太忙,就想把这些经历写下来,也希望能得到社区里各位前辈的指点个人背景我是03年出生的西安娃,父母都是普通打工人。刚从中南大学软件工程专业毕业半年,现在在老家的央企过着躺平摆烂的日子成长轨迹从农村到城市的童年我家并不是西安的,只是爸妈在西安上班,从小学之后就把我接到了西安。后来老家房子拆了,爷爷奶奶也搬了过来。农村的生活,我觉...
Yki_:看哭了,恋爱那一段你女朋友说你不够关心她,可你毕竟也愿意遇到矛盾写几千字来和她慢慢分析;说不愿意给她花钱,我感觉可能只是消费观不一样;如果她想留在长沙,也应该提前跟你说开。不过她也许会心疼你放弃大厂offer转向数字马力?我也因为同样的原因有过一段幸福而充满遗憾的感情,不过跟爱情相比确实前途更重要一点。至于offer的选择,换我我也会这么选。把这些旧事记录下来以后,接下来就好好向前看吧,加油兄弟
🍊晨光随笔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务