字节面经(已成功了)

第一面(感觉没有第二面了,歪日)3.10 1h

  1. 双方自我介绍,面试官(人很好,温和有耐心面对我这种蠢逼也没有表现得他觉得我很蠢。)先介绍了一下他的部门负责的内容。大体上就是广告主投放广告上有一些金钱上的来往,负责处理这一块业务。然后问了我第一个问题:

    1. Q:我来实习是抱着什么样的目标来实习的,比如说是想要一份实习经历,对他这个部门负责的内容感不感兴趣啥的。
      A:我研一准备走大数据方向,就是haddop,spark这种,所以对数据这方面很感兴趣,以后可能想走后端和大数据一起学习这样的部门。
      他回复:这个部门还是和数据由关系的balabala。
  2. 问了我关于科研方面的东西。因为我最近有一篇论文快达到投稿标准,准备找期刊了,所以他问了很多这方面的事情。具体如下

    1. Q:你这个模型做了哪些优化(我感觉就是问我创新点在哪儿)。
      A:回答了一点性能数值上的提升,然后说了一下。
    2. Q:你当时有考虑过哪些创新点对你的模型提升更重要吗
      A:(我寻思着这不就是消融实验嘛)我就按照消融实验的思路回答了一下。
    3. Q:有考虑过后续的模型应该怎么创新怎么改进吗
      A:(这不就是我论文的第五章吗= - =)动态mask、引入图神经网络
    4. Q:有对比过其他论文的模型吗
      A:Softmaskerbert(这个还是字节出的)、阿里出的SpellGCN巴拉巴拉撤了一堆
    5. Q:当时选用这些模型的时候是有理论依据的还是看实验结果,然后回去逆推原因的。
      A:有理论依据的,然后说了一下我当初凑模型的思路
  3. 技术上面

    1. Q:我看你用了Kafka。那你觉得一个消息队列应该具备上面特征
      A:容灾备份、削峰、多个消费者可以消费balabala。
    2. Q:Redis在项目中怎么用的
      A:缓存一下查询数据balabala
    3. Q:我看这个项目对你提升也不大,我们面试有个流程是算法题,我们来做一道算法题吧。
  4. 算法题给一个数组{2,3,9}和一个target 2333,找出一个比2333小,但是能够由数组元素构成最大的数。
    在第一面的算法题表现及其拉胯。这是一道dfs题,但是当时还没刷到dfs题,完全没有思路。面试官提醒了我很多次,给了我很多次提醒,但是还是没有做出来。

  5. 反问环节
    Q:觉得我哪里不足哪里还需要提升的
    A:你作为一个学生表现的其实还挺好的,算法题并不能代表一个人什么,有的人不擅长或者没刷到而已(听到这些都快哭了捏妈)。

第二面(竟然有第二面) 3.15 45min

讲道理,上次这么拉胯的算法题我都没想着有二面了,因为真的表现很差很差,然后再狂刷算法题,狂刷dfs题,但是竟然等来了二面的消息神奇。

  1. Q:做一下自我介绍,介绍一下在学校里的成果和做的项目吧
    A:介绍了一下我的研究方向,专利和论文和创新点,和做的一个项目。

  2. Q:我看你简历上研究的偏向算法,那你的意向是后端开发,那为什么不考虑做算法呢。
    A:1. 深度学习的东西给我感觉还是黑盒,很多理论并不能有很好的解释。2. 我们学校的平台不够不支持我找算法的工作(没说的这么直接)

  3. Q:你的特征工程怎么做的
    A:讲了一下我的标签怎么打的

  4. Q:项目中的数据量大概是多少
    A:我做的文本数据之江实验室是没有给元数据的。但是时序数据之江实验室买了一些传感器布置在之江实验室周围。项目书中要求1w条/s。

  5. Q:你做的这个项目实际上有什么作用吗。recall这种更多是模型的表现,实际上有什么作用吗
    A:我的项目有关于旅游数据,比如可以修复旅游数据的评论,让人们判断更加精确一下。

  6. Q:我们来问一下Java相关的吧。overwrite和overload有什么区别了解吗
    A:(雾草这个问题我研究十分透彻好吧)讲了一下基本的差别之后。补充了一个在使用泛型的时候,重写在JVM中会被误当做重载,解决方法是桥方法。

  7. Q:我看你用了Redis缓存,你还了解过其他的缓存吗,说一下你对缓存的理解。
    A:我觉的缓存的概念就是把常用到的东西放在一个专门查询快的地方,方便查询,不用去访问元数据。还了解过Mybatis的一级缓存和二级缓存。其他的了解不多。

  8. Q:如果让你设计一个限流器,你会怎么设计。
    A:哈?(这个是真的,因为我都没了解过限流器是什么),想了一会儿1. 同一个IP限制访问次数2.控制并发的数量。
    很明显这个问题回答的挺差的,然后面试官点了一下应该怎么办,但是我都没听懂。。。。

  9. Q:RPC了解过吗
    A:没了解过。

  10. Q:你们导师同意你实习吗,大概能实习到啥时候
    A: 同意,刚刚还在群里说呢,有实习意向的和自己的指导老师沟通。时间的话暑期结束之前应该没什么问题。

  11. 还有一个问题也没回答上来,但是忘记是啥了

  12. 面了大概20多分钟。好了,我没什么问题了,我们来做一道算法题吗。(我内心慌得一批,算法题感觉是我的死穴)
    题目:String s找出s中出现最多的字符和次数。

和面试管确认了只有a~z后,用一个26的int数组做出来了。面试官觉得还挺满意,点了一下我没考虑边界的问题后,然后让我讲了讲思路,表扬了我一下写的挺快,方法也还可以。结束了

  1. 反问 Q:觉得我哪里不足哪里需要提升
    A:如果真的想走后端开发的话,对于很多常用的中间件了解的不够。对于面向web的编程知识了解太匮乏了(话没说这么重,就是让多去了解这方面的内容)。
    Q:我这一次的面试表现还可以吗。
    A:这个我们要综合评定balabala。

最后感谢了一下面试官大晚上还抽时间给我面试。

第三面

上来的面试官就给我一种不太好惹的感觉,心里有点方说实在的

  1. Q:介绍一下自己
    A:(看到那个面试官有点紧张说实话,没怎么回答好)我是xxx来自xxx研究方向xxxx,目前的成果xxx,目前做的了一个什么项目(他等下就追着项目狂问)。
  2. Q:我看你这个项目叫多元多模态,那这个多元多模态什么意思
    A:主要体现在数据类型的多种。我们这边是五种类型的数据:时序数据,结构化数据,文本数据,音频数据(嘴瓢了,不是音频数据其实)。
  3. Q:你们这个项目的数据来源是怎么来的
    A:我们这个项目是和之江实验室合作的,我们承担是数据的清洗与修复,我们的数据主要来自于之江实验室。他们买了传感器部署到周边,通过kafka传递给我们。
  4. Q:那你们这个消息怎么传递的呢
    A:之江实验室写了一个Kafka提供一个topic,我去订阅,然后获得信息
  5. Q:那这个格式怎么样子的是Josn?
    A:以一个List传递过来,我们把这个消息拆开,然后发送给修复数据的模块
  6. Q:那你这个其他类型的数据呢?
    A:我们这个项目是一个长期项目,目前只做到中期的部分,之江实验室只提供了时序数据,其他数据比如我的文本数据我是写了一个docker镜像放到仓库,然后在我师兄的电脑上push下来,数据和清洗程序放在一起对外提供一个接口访问。
  7. Q:那你的时序数据具体是什么样子的给我描述一下
    A:比如某市某刻的co2浓度,大气压的浓度,温度等信息。
  8. Q:好的我大概了解了(其实还追着项目问了点问题有点想不起来了),我看你项目里用了kafka,redis,Java,Mysql,那我问一下这里面的基础知识把。你给我描述一下Kafka吧。
    A:主要回答的(我说的肯定没我写的这么清楚,但是大体上是这样的)
    1. 对比了一下竞争对手RabbitMQ
    2. topic broker consumer group partition的一顿输出
    3. Kafka是如何保证消息不丢失的从Producer,Broker,Consumer的角度说了一下
    4. 说了一下使用Kafka的好处,削峰啥的
  9. Q:你刚刚提到了Rebalance,你讲一下Rebalance
    A:讲了一下为什么有Rebalance
  10. Q:如果我这边是2个Consumer,有3个Partition,加入一个Consumer会触发Rebalance吗
    A:可能会
  11. Q:过3个Consumer,2个Partition,除去一个Consumer呢
    A:可能会(这两个是凭借映像回答的,自己心里也没数其实,我只知道Consumer的增加或者小数会触发Rebalance)
  12. Q:Rebalance除了会造成offeset的丢失,还会有什么其他的问题呢?
    A:这个了解的没这么深
  13. Q:你使用Kafka的时候,Producer这边和Kafka集群这边是使用的同步还是异步啊?
    A:异步(他喵我这边当成Kafka集群和Consumer的消费关系了,导致后面那个问题直接gg)
  14. Q:那你给我描述一下这个异步吧
    A:我他喵照着Kafka集群和Consumer的关系回答了一下。(面试官直接僵住,他可能都没听懂。。。无语,后面他帮我圆了一下)
  15. Q:Kafka的high level和low level了解过吗
    A:没有,我对Kafka没有了解这么深。(放过孩子把别问Kafka了,孩子要死了)
  16. Q:好的,那我看你用了Mysql,那你ACID了解过吗。
    A:(因为前面Kafka直接问懵逼,ACID的一致性死活没想起来)
  17. Q:没事,那你说一下你在项目里用了Mysql场景吧
    A:一开始用Mysql的一张大表查数据,后面用了水平切分,后面又使用redis作缓存。自己学习的时候了解了一下Mysql的隔离性(默认是可重复读),然后就是一顿八股文的输出。
  18. Q:Mysql的索引了解过吗
    A:了解一点,Mysql使用B+树做索引的。说了一下常见的索引结构Hash,B树和B+树的优劣。
  19. Q:好的没什么问题了,那我们来做一道算法题吧。
    A: 好的
    题目是归并排序,分分钟写完。
  20. Q:好的,那么你大概什么时候能来实习,大概能实习到什么时候呢
    A:拿到offer之后的10-15天,能实习到暑假结束之前
    反问环节
  21. Q:我研究方向和算法相关性多一些,如果想走后端的话应该如何提升自己。
    A:后端和算法不一样,后端学习到的东西要多用,所以实习很重要(讲了一堆实习对后端的重要性。那你发我offer啊,我会不知道实习多重要吗可恶!)
  22. Q:我刚刚有点紧张ACID没回答清楚,可以重新回答一遍吗
    A:没有那个必要,其实理论知识没这么中。
    (但是我还是喃喃自语说,一致性忘记了,也不知道他听到没,可恶!!)

然后大概在写算法到反问,网络有波动的情况,就是如果说可以的话还是别用实验室wifi吧(我之前都没遇到这情况,无语,感觉挺影响面试的)。

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值