2021年1月4日,我终于结束了这两个月以来收到的最好的一个公司的视频面试,短短15分钟,我们双方就再无话题了。我是觉得我不够优秀,配不上这个岗位。面试官可能觉得已经看透我了。

让我回顾一下这稍纵即逝的15分钟:

提前2分钟,面试官到达视频现场并友好提示我们开始,先做个自我介绍。

我一开始就很紧张,自我介绍说的一塌糊涂,毫无重点。但面试官很友好,一直跟我点头互动,认真听我不知所云的自我介绍。我很愧疚自责:我浪费了人家的时间。

然后面试官问我是否在找新的工作机会。我说是的,我很想要上班,看到大家在字节上班都很开心,我也想成为字节风口上的那头猪,我想跟字节一起起飞----我可能有脱口秀的潜质。

面试官问:工作中哪件事情最让你有成就感?我回答说:我带了两个新员工,并鼓励他们积极提出自己的想法,去努力试错,更愿意通过鼓励去激发,而不是批评------这个能体现我有什么能力吗?我真是服了我自己。

字节跳动+京东+360+网易+腾讯踩过的坑 第一个:字节跳动

一面:已知二叉树BT各结点的先序、中序遍历列分别为A、B、C、D、E、F和C、B、A、E、D、F,试画出该二叉树。

**二面:**已知一棵树的由根至叶子结点按层次输入的结点序列及每个结点的度(每层中自

左到右输入),试写出构造此树的孩子-兄弟链表的算法。

**三面主管面:**已知一棵二叉树的前序序列和中序序列分别存于两个一维数组中,试编写算法建

立该二叉树的二叉链表。

**四面交叉面:**试编写递归算法,输出广义表中所有原子项及其所在层次。

第二个:京东

一面:哈希HashMap的底层实现

二面:那为什么当链表长度大于阈值8时才会选择使用红黑树呢?

三面:请你说明HashMap和Hashtable的区别?

第三个:360

一面:线程和进程的区别?

二面:万亿级别的两个 URL 文件 A 和 B,如何求出 A 和 B 的差集 C,(Bit 映射->hash 分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)

三面:5 枚硬币,2 正 3 反如何划分为两堆然后通过翻转让两堆中正面向上的硬币和反面向上的硬币个数相同;

四面:如何从一百万个数里面找到最小的一百个数,考虑算法的时间复杂度和空间复杂度

第四个:网易

一面:1.并发集合了解哪些?2.HashMap的实现原理

二面:列举java的集合以及集合之间的继承关系

三面:容器类介绍以及之间的区别

四面:ArrayMap和HashMap的对比

第五个:腾讯

一面:HashTable实现原理

二面:hashMap如何扩容

三面:1.请列举出在 JDK 中几个常用的设计模式?2.什么是设计模式?你是否在你的代码里面使用过何设计模式?

四面:举例说明什么情况下会更倾向于使用抽象类而不是接口?

最后

下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。

4个改变你编程技能的小技巧,吐血整理_实现原理

高级UI,自定义View

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

4个改变你编程技能的小技巧,吐血整理_实现原理_02