美文网首页程序员java架构经验分享
大四菜鸡的第一次面试经历,我的后端日常实习面经,已经拿了字节跳动

大四菜鸡的第一次面试经历,我的后端日常实习面经,已经拿了字节跳动

作者: 前程有光 | 来源:发表于2020-12-10 22:24 被阅读0次

    前言

    lz大四,大概11月初开始面字节,第一次面三面后挂了,然后又被hr捞起来又面了一次,这次四面过了,挂了之后我就跑去B站实习了,后来字节的HR又打电话来捞了我,可能是字节现在真的确认吧(小声bb:不会是因为我这张英俊的帅脸吧......)

    我这里准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作!有需要的朋友点击这里备注简书自行下载即可,希望对你们有帮助!

    一面:

    我这辈子第一次面试,特别紧张,设备没有调试好,面试官那边听不到我声音,所以就推迟面试了,耽误了面试官的时间。

    第二次上来问了:

    • 项目
    • TCP握手挥手
    • 面试官看我没啥经验,项目做的也不怎么样,于是说“做两道题吧”
    • 判断平衡二叉树。我确认了以下定义开始写,因为太紧张把java的语法都写错了hhh面试官跟我说不用紧张
    • 请写出一个高效的在m*n矩阵中判断目标值是否存在的算法,矩阵具有如下特征:
    • 每一行的数字都从左到右排序
    • 每一行的第一个数字都比上一行最后一个数字大
    • 二分,面试官说我逻辑写复杂了
      然后第一次面试就结束了,全程基本就是在做题,没有问操作系统。可能公司面对没有开发经验的候选人就会让他做题吧。

    二面:

    二面面试官看起开不太开心,上来问了我点Java相关的,我答得不好,我跟他说我平时用Java只是刷leetcode,他说那咱们做两道题吧。。。

    二叉树的最大路径和,Leetcode hard原题,还好我前几天刷过一遍,我感觉这个面试官不怀好意,上来就一道hard,说好的循序渐进呢
    给定一个字符串m(只含有26个小写字符,假设m的总长度不大于1000),要求在字符串中找到最长的一个连续回文子串k,返回其长度。其中连续回文子串 k 需满足以下条件:

    • 整个字符串是回文串(从前往后和从后往前看字符串是一样的)
    • 该字符串中的任意相邻字符在ASCII 码表中也是相邻的
    • 字符串中字母序必须是且只能是先升序后降序,且字母序只能改变一次

    我拿到题很开心心想这不就是最长回文子串吗,这个我会!然后就要DP。面试官说停停,你再看看这题需要DP吗?我一看,噢,原来一遍遍历就行,然后就开始写,期间写了很多bug,都被面试官挑出来了
    做完两道题才开始问八股文

    • 数据库的隔离级别
    • 解决幻读需要什么隔离级别
    • 外存排序,归并

    Top K问题,快排+剪枝。如果数据量很大没法快排呢?维持一个堆。因为那段时间我Java用的比较多,心里想的是代码,上来就说PriorityQueue,面试官没听懂我要干啥,问我学过数据结构没,我说哦哦哦用堆,他说你早说用堆不就完了
    然后第二次面试就结束了,还是做题,做题,做题

    三面

    上来先让我自我介绍,我就把学过的课程说了说
    聊到语言,又说到了Java,我说我这个就是刷题用的,暗示他别问了,他说刷题为啥不用c++,我说好久没用忘了
    可他还是要问Java(╯▔皿▔)╯

    Equals和HashCode方法,自定义数据结构放在HashMap里需要重写哪个。我学Java的时候记得,后来忘了。。
    HashMap扩容策略,我说链表转红黑树,他说如果红黑树变得很大呢,我说我真不知道别问了
    他说好好好不问了,咱做题吧。

    最大子序和,leetcode经典中的经典,直接背出来。他说如果我不仅想要最大的和,还想要区间范围呢,我就又改了改。他说行,下一题吧。
    一个先升序后降序的数组,找出某个值在不在这个数组内。二分魔改过了,期间他一直引领我,我说您说的我没太听懂,我按照我的思路写可以吗,他说好的好的,不打扰你了,然后我就给他边写边讲我的思路,他说也行
    做完了题问我打不打ACM,把我乐的够呛,说我刷题才俩月,哈哈
    问我用过Linux吗?答曰学计组和OS的时候会用ubuntu,但命令行不太熟
    会git吗?不会
    用得惯苹果系统吗?我说我俩电脑一个win一个mac,会的

    然后结束了愉快的面试,第二天收到了拒信

    后来我就去B站先实习了,那边用的也是Go

    过了两周,又被hr拉去面另外一个组,说缺人,我一开始是不想去的,但还是同意了面试

    一面

    聊天聊到了我现在的实习,于是问了我点Go相关的

    在公司都写什么东西了
    ConcurrentHashMap如何保持一致性。我说全局大锁,他说注意性能问题。然后我说能给点提示吗?他说如果这个HashMap数组特别长呢?我问那可不可以分段加锁?他说可以。后来我回去查了查老版本的Java真的是用的分段加锁,我可真机智
    slice了解吗,我说暂时没用到过。被“嘲讽”了,他说在字节的节奏会快很多,你过来学两三天就要干活了。
    Goroutine为啥轻量
    进程线程相关的,问的比较深入。他说:你刚才提到了Goroutine对于操作系统是透明的是吧,那么操作系统如何向某个Goroutine发送时钟中断呢?如果不能发送如果有某个Goroutine一直执行怎么办?这个我不太会,他说没事,回去查查
    HTTPS握手,我说不了解握手,简单地说了对称加密算法和非对称加密算法
    ARP协议是什么,我说还没学到IP层,不知道
    然后就开始做题了。感觉这个组面的基础知识比较多,而面的算法都很简单

    两个排好序的链表排序并去重,我一边讲思路一遍写。tips:写题的时候一定要和面试官说明自己的思路,不然面试官不知道你在干什么
    就这一道题
    我问了他们组是做什么的

    二面

    这时我经历过的最难受的一次面试,面的东西我基本全没答出来
    而且面的时候我的电脑死机了,赶紧借室友的电脑面的,耽误了五分钟,回去发现面试官还在等我

    HTTPS怎么握手,我说不知道,他说以前不是问过你吗?我才知道他们有记录的,就说忘了去查了(后来面完去查了
    ARP解析,我恰好下午看书看到那,就回答出来了,他说你是回去看了吗?我说我只是恰好学到这。。
    Cookie了解吗。我把Cookie和session记反了,说cookie是存在服务器端的,他说你确定?我说emmmm...(后来回去一查这么简单的问题都没答对他居然放我过了。。
    他说之前问过你的,你有没有回去查过哪些?我就答上次的那个Goroutine相关的问题,说Goroutine之间是协作式调度,如果某一个Goroutine一直在占用CPU而不阻塞那么他是不会让出去的(这是旧版本的特性),他说那这样的情况就一直占着?不能强行执行调度吗?我说好像是的。后来我回去看了看最新版本的特性,发现可以抢占式调度了。。
    Go如何利用多核性能?不知道。(也是回去查,学到了GMP模型,一开始会分配GOMAXPROCS个Processor
    设计一个秒杀系统?不会不会不会
    做题吧

    荷兰国旗问题。这个我做过,但时间久远,现场做的时候还是做了挺久的,边做边想肯定去不了自己了,在B站实习也挺好的/(ㄒoㄒ)/~~
    他说你等十分钟三面吧,我Σ(っ °Д °;)っ,居然还有三面

    三面

    HashMap扩容。所以我发现他们真的很爱问之前你没答上来的东西。我说不会。。他说没事你自己设计一个,然后我就自己设计了一个,他指出了不足,我就又接着改,改了好几个版本他说行
    设计一个调度系统。我用的多级动态优先级队列+堆,操作系统课刚讲过的
    他似乎问了不止两个问题,但我有些记不得了

    算法:

    最大子序和。我说之前问过了,换一个吧(当时我好呆啊,万一换一个我不会咋办(╯‵□′)╯︵┻━┻
    矩阵内的最短路径,只能向下或向右走。这个比较简单,一个DP搞定
    三面结束

    HR面

    (不是和我对接的HR)
    HR来势汹汹,语速很快,期间跟我聊了项目,性格等等好多东西,劝我如果想工作的话尽早脱离学校的环境等等。。然后说你没有工程开发的经验,我们北京这边北航和北邮的学生来的时候都有相关开发经验的,他们上手会很快。我一听这不是要把我给拒了吗,赶紧说我在B站实习了hhh因为B站的技术栈和字节的技术栈很像(都是Go)我上手也会很快的blabla,她听了很开心,说你等通知吧!但其实我上手会很慢(●'◡'●)

    写在最后

    最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。


    还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。有需要的朋友点击这里备注简书自行下载即可,诚意满满等你来拿,希望对你们有帮助!

    相关文章

      网友评论

        本文标题:大四菜鸡的第一次面试经历,我的后端日常实习面经,已经拿了字节跳动

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