美文网首页Java架构技术进阶互联网科技老男孩的成长之路
疫情期间海投简历,普通本科小渣渣逆袭字节跳动,已拿电子offer

疫情期间海投简历,普通本科小渣渣逆袭字节跳动,已拿电子offer

作者: Java入门到入坟 | 来源:发表于2020-07-05 22:28 被阅读0次

    基本条件

    本人是普通本科,无科研经历,但是有一些项目经历,在国内监控行业某头部企业做过一段时间的实习。想着投一下字节跳动,可以积累一下面试经验和为春招做准备。投了简历之后过了一段时间,HR 就打电话跟我约时间,在月初进行远程面。

    一面

    面试官很和蔼,由于疫情的原因,大家都在家里面进行远程面试。

    开头没有自我介绍,直接开始问项目了,问了比如

    • 常用的 Web 组件有哪些(回答了自己经常用到的 SpringBoot,Redis,Mysql 等等,字节这边基本没有用 Java 的后台,所以感觉面试官不大会问 Spring,Java 这些东西,反倒是对数据库和中间件比较感兴趣)
    • Kafka 相关,如何保证不会重复消费,Kafka 消费组结构等等(这个只是凭着感觉和面试官说了,因为 Kafka 自己确实准备得不充分,但是心态稳住了)
    • Mysql 索引,B+树(必考嗷同学们)

    还有一些项目中的细节,这些因人而异,就不放上来,提示一点就是要在项目中介绍一些亮眼的地方,比如用了什么牛逼的数据结构,架构上有什么特点,并发量大小还有怎么去 hold 住并发量

    后面就是算法题了,一共做了两道

    1. 判断平衡二叉树(这道题总体来说并不难,但是面试官在中间穿插了垃圾回收的知识,这就很难受了,具体的就是大家要判断一下对象在什么时候会回收,可达性分析什么时候对这个对象来说是不可达的,还有在递归函数中内存如何变化,这个是让我们来对这个函数进行执行过程的建模,只看栈帧大小变化的话,应该有是两个峰值,中间会有抖动的情况)
    2. 二分查找法的变种题,给定target和一个升序的数组,寻找下一个比数组大的数。这道题也不难,靠大家对二分查找法的熟悉程度,当然,这边还有一个优化的点,可以看看我的博客找找灵感

    完成了之后,面试官让我等一会有二面,大概 10 分钟左右吧,休息了一会就继续了

    二面

    二面一上来就是先让我自我介绍,当然还是同样的套路,同样的香脆

    然后问了我一些关于 Redis 的问题,比如 zset 的实现(跳表,这个高频) ,键的过期策略,持久化等等,这些在大多数 Redis 的介绍中都可以找到,就不细说了

    还有一些数据结构的问题,比如说问了哈希表是什么,给面试官详细说了一下java.util.HashMap是怎么实现(当然里面就穿插着红黑树了,多看看红黑树是有什么特点之类的)的,包括说为什么要用链地址法来避免冲突,探测法有哪些,链地址法和探测法的优劣对比

    后面还跟我讨论了很久的项目,所以说大家的项目一定要做好,要有亮点的地方,在这里跟面试官讨论了很多项目优化的地方,还有什么不足,还有什么地方可以新增功能等等,同样不细说了

    一边讨论的时候劈里啪啦敲了很多,应该是对个人的面试评价一类的

    后面就是字节的传统艺能手撕算法了,一共做了三道

    • 一二道是连在一起的,给定一个规则S_0 = {1} S_1={1,2,1} S_2 = {1,2,1,3,1,2,1} S_n = {S_n-1 , n + 1, S_n-1}.第一个问题是他们的个数有什么关系(1 3 7 15... 2 的 n 次方-1,用位运算解决)。第二个问题是给定数组个数下标 n 和索引 k,让我们求出 S_n(k)所指的数,假如S_2(2) = 1,我在做的时候没有什么好的思路,如果有的话大家可以分享一下
    • 第三道是下一个排列:https://leetcode-cn.com/problems/next-permutation 的题型,不过做了一些修改,数组大小10000<n<100000,不能用暴力法,还有数字是在 1-9 之间会有重复

    hr 面

    一些偏职业规划的话题了,项目经验,工作经历这些。

    总结

    基础很重要!这次准备到的 Redis,Mysql,JVM 原理等等都有问到了,(网络这一块没问,但是也是要好好准备的,对于后台来说,网络知识不仅仅是面试,还是以后工作的知识基础)。当然自己也有准备不足的地方,比如 Kafka 等中间件,只会用不会原理是万万不行的。并且这些基础知识不能只靠背,面试官还会融合在项目里面进行串问

    问到了不会的不要慌,因为面试官是在试探你的技术深度,有可能会针对某一个问题,问到你不会为止,所以你出现不会的问题是很正常的,心态把控住就行。

    无论是做题,还是回答问题的时候,牢记你不是在考试,而是在交流,和面试官有互动和沟通是很重要的,你说的一些疏漏的地方,如果你及时跟面试官反馈,还是可以补救一下的

    最重要的一点字节的面试就是算法一定要牢固,每一轮都会有手撕算法的,这个不用想,LeetCode+剑指 Offer 走起来就对了,心态很重要,算法题不一定都是你会的,要有一定的心理准备,遇到难题可以先冷静分析一波,而且写出Bug free的代码也是很重要的。

    最后祝大家在秋招取得好的 Offer,奥力给!

    我在这次面试前所做的准备(个人学习方式+一些相关的资料),在这里分享出来

    1000道互联网工程师面试题

    Java核心面试知识点整理

    70+算法题、30种大厂笔试高频知识点

    前辈大厂面经

    学习视频

    快速入手通道:(点这里)下载!诚意满满!!!

    Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi

    整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

    你的支持,我的动力;祝各位前程似锦,offer不断!!!

    相关文章

      网友评论

        本文标题:疫情期间海投简历,普通本科小渣渣逆袭字节跳动,已拿电子offer

        本文链接:https://www.haomeiwen.com/subject/lwlntktx.html