记字节跳动面试经历

最近视频面试了字节跳动,记录下这次失败的面试经历,以儆效尤。

19:30接入视频面试,面试官是个比较温柔的小哥。首先是自我介绍。事先并没有准备自我介绍,导致说话支支吾吾,经常出现这个、那个这类模糊不清的说辞。接下来就是对项目所用技术栈的使用,其中包括数据库主从同步、数据一致性维护;安全相关协议,如md5\sha256\pbkdf2算法的具体实现和缺陷;最后是算法题,常用的算法是树形、图形、排序。

21:00很幸运的接到了第二个视频面试。面试流程基本一致,首先说明项目内容;其次,针对项目中提到的技术栈的运用,如kafka的工作原理、系统架构以及设计,最后是算法的运用。

总体感受:
其实这次面试感觉很不好,如果我是面试官是绝对不会让我过的。有如下方面问题:

  1. 自我介绍并没有准备好,说话支支吾吾的,没有明确的主题和层级。
  2. 所用技术栈的了解。经过这几次的面试经验了解,面试官很多情况下并不是考察你对技术栈细节的运用,而是技术栈的架构以及为何这么设计的原理。
  3. 项目内容的说明。重点是考察你对项目架构的设计,不必涉及太底层的技术细节。
  4. 算法说明。首先是理解数据结构和常用的算法,同时常刷题库训练自己的逻辑思维能力。毕竟短短几十分钟,你是不能完全正确的写出编程题的。但解决问题的思路是很重要的。

总结:
面试官其实对语言和架构要求并不严格,更多的是考察面试者的逻辑思考能力。对我而言,面试是最能考察自己工作能力的方式。在与他人交流中,我发现了自身缺陷并需要为此努力修正:

  • 自我介绍
    自我介绍主要分为两部分:个人背景, 工作经历
    • 个人背景:
      可简单罗列自己的个人信息,如姓名、就读大学专业、就职公司以及所列奖项
    • 工作经历:
      通过分析公司职位需求,用具体事例向面试官证明你具备匹配该职位的能力,遵循STAR法则(情势、目标、措施、结果)
      如我去年夏天在xx互联网公司市场部实习(情势)。实习期间我负责xxx,xxx,xxxx……(目标)在参与编写XX软件的市场推广方案时,我通过数据分析目标客群并提出的编写方案(措施),该方案最后落地执行并最终获得了20W的新用户(结果)。
  • 项目描述
    关于项目描述的详细说明,可以参考这儿
    提问方式 目的 应对措施 举例
    描述工作经验和项目 考察是否真的做过这些项目 项目简介、功能;担任的项目角色;项目架构以及所使用的技术细节,在细节处自己所做的改善 xxx系统:负责xxx。项目采用xxx的技术框架,依据xxx设计模式或设计原则开发,在处理系统的高并发和高性能上,采用了xxx技术。在项目开发中,为处理xxx问题采用xxx技术,性能提升了xxx,响应时长缩短了3倍。 不需要详细描述各功能模块,不需要说太多和业务有关但和技术无关的东西
    看简历上用到的技术,比如框架、数据库,然后针对这些技术提出问题 验证你是否做过项目,同时了解你对技术的熟悉程序 把知道的东西说出来,重点突出思想、框架 如技术框架的数据流转,设计模式的原理和优势
    针对项目,不断深入问技术相关问题或从侧面问技术实现 深入核实项目细节 了解技术底层原理和设计理念 针对x技术目前存在的问题,是怎么解决的
    针对技术,询问项目问题 核实用户是否有过项目经验或只是学习经验 与上述问题不同,主要考察对项目的熟悉程序 针对x技术目前存在的问题,你们是怎么解决的
  • 技术知识的准备
    通过对比多个同类技术栈,得出最终造型技术的优势。了解此类技术栈底层的通用技术和优势技术。
    如消息队列有哪些,为什么要选择这种消息队列,为什么会有这样的优势,如果由你来设计的话,架构是怎么样的。
  • 算法
    这个真没办法了,只能靠平时对算法的理解以及长时间的刷题来弥补了。

你可能感兴趣的:(人生阅历)