面试面到自闭,字节Python后端开发岗4轮面试,四个小时灵魂拷问,结局我哭了

Posted 程序员_宇宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试面到自闭,字节Python后端开发岗4轮面试,四个小时灵魂拷问,结局我哭了相关的知识,希望对你有一定的参考价值。

准备过程

我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段:

  • 反思:自己是不是真的要离职,假如不离职,在老东家接下来应该做什么才能继续提升?
  • 定位:我在硬性技能(编码、架构)上的长处在哪?我在软技能(沟通,团队)上的长处在哪?这步顺带写了简历
  • 寻找平台:哪些平台能同时满足:1、有挑战有上升空间;2、符合我的定位方向;3、团队氛围和老东家一样好(或更好)
  • 找人内推:基本都是在 v2 上找的(诚挚感谢各位帮助我内推的大佬)
  • 面试谈 offer

这个过程中,我的方法论是”换位思考”。自己过去也面试过不少人(所以平时公司让我去面试,虽然累点苦点,但也都是积累呀),并且也和 HR 以及放出 HC 的业务方聊过我们希望放什么样的人进来。因此全程都在以面试官的心态来考察自己:

假如我是面试官,我会招怎样的人进来做我的同事?

举几个例子,下面都是我在这个过程中考虑过的问题(当然只是我自己的喜好):

  • 对于一个毕业两年多的人,我最希望他有什么特质 ?这个阶段的人其实还是”空杯”,我希望他有很强的学习能力和进取心,给自己部门培养出一个超级生产力;
  • 什么样的行为会让我”讨厌一份简历” :把每个项目都大写特写,尤其是陈述细节没有重点;罗列框架当能力,用过了一类场景的框架就觉得能解决一类业务诸如此类;
  • 面试的时候我会偏向于问哪些问题 ?一是简历上写了”理解”或”精通”的语言与中间件;二是简历上写得比较有趣,又没有完全交代清楚的项目;

每个人都拥有大厂梦,我也不例外,在小公司待久了,感觉人会荒废掉,太轻松,没有压迫感。在众多大厂中,最终选择了字节跳动Python开发岗位,涨薪了30%。“年轻、活力、富有激情”是我听到得最多对它的形容词,所以毅然决然,希望自己能够在这个舞台上展示出自己。

以下分享这次面试字节跳动的面试题,另外还对自己的面试做了一些总结!

面经

一面 90多分钟

  • HTTP通过什么保证安全传输?
  • 说一下应用层中使用UDP协议的应用?TCP?UDP+TCP?
  • HTTPS解析过程
  • 一道算法题,1只羊99头狼,规则是狼吃了羊,羊会死,狼自己也会变成羊,说一下最后的情况。(数学归纳法)
  • Linux下nginx配置文件默认在哪个目录,如果某个用户更改了目录,通过什么命令找到(说一下Linux命令)
  • git中pull和fetch的区别(git pull = git fetch + git merge,我只记得是这样 )
  • innodb中的insert、delete、update、select MVCC原理说一下(中间提到了版本号)
  • 对应上一个问题,版本号记录的规则?
  • IO多路复用?讲一下?(提到了select)
  • select描述符限制是多少?(1024 ),为什么是1024???
  • 僵尸进程概念?如何解决?(由于中间提到了先让父进程结束)
  • 对应上一个问题,孤儿进程概念?
  • tcp滑动窗口 是干嘛的(流量控制的一种方式),说一下原理,概念,为什么叫滑动窗口,大概是这个意思。

这个题我卡了,没听到面试官说的,我回答的他很不满意。因为我简历写的是精通Python,面试官看看我,笑了一下, 好,问题来了,连环问。

  • 说一下is和==区别,直接秒杀了,然后问is实现原理,利用了单例嘛,秒了,让我讲解一下单例,懒汉式,饿汉式,优缺点都说了。
  • 说一下list、tuple、dict底层,然后问了set去重原理(__hash__和__eq__嘛)
  • metaclass,用在何场景,(ORM),说一下type()各个参数
  • PythonPath变量是什么?分别解释一下

-----------------数据库开始了------------------------

  • 上来就Redis缓存穿透,缓存雪崩,说下一按概念,如何解决就OK
  • mysql排错和调优
  • 分库分表规范,准则
  • Redis持久化方式,还捎带问了问项目的缓存情况

反问:我问了新人培养情况、晋升机制、还有一些平时涉及到的工作栈。

二面 26分钟

  • 深挖项目,git、nginx(反向代理、负载均衡)
  • 场景题:假设我有多台服务器,将我的项目如果反向解析调用了别的服务器,如何实现,采用哪种方式(轮询、weight),分别说一下优缺点,以及特殊情况也要考虑(比如某一台服务器挂了,但是你并不知道是哪一台 )
  • 算法题:lc(227) 计算器,当时直接eval来着,面试官笑着看我。。。

反问:问了接下来的流程(他告诉我三面还是技术面 ),然后谈了一下各个部门情况。

三面 35分钟 电话面试

直接两道算法题口述:

  • 面试官临时举的例子,举的牧羊犬和羊,大概意思有点像老鼠喝毒药(二进制)
  • 规划交通,类似于图的遍历。。。(不简单 )

hr面 告诉我通过了

简单聊了一下,你一定要表现出你特别想去他们公司,别犹犹豫豫的。hr面特别看你的态度,我个人觉得

  • 有什么兴趣爱好?
  • 觉得自己前面几轮面试怎么样?
  • 你对于加班问题怎么看?
  • 你意向工作城市,你父母怎么看?
  • 期望薪资和待遇
  • 你有什么想问的?
  • 口头offer,期待中

面试心得

回头看面试的过程,有好多不尽如人意的地方,不过最后能够拿到 offer 还是很幸运。最后再做一些补充性的小结:

一些经验:

  • 简历里写了的项目,以及熟练程度在”掌握”以上的领域与中间件要好好准备 ,当面试官问你一个偏门的问题时,他内心其实也没希望你能答上来。而当面试官问你简历上涉及的问题时,假如你答不上来,那面试官就觉得这个人要么是眼界太低,会了一点就觉得自己掌握了,要么是简历造假在胡吹,这两种都非常不利;
  • 在上一条的基础上,可以准备一个最得意的项目 ,在简历上和面试过程中引导面试官往这块聊;
  • 面试前心里可以准备一个方法论:明确面试官想招怎样的人有哪些特质,在面试过程中努力表现出这些特质 。这听起来是句正确的废话,但面试的过程不可控因素太多,有一个清晰的目标在脑子里能帮你在手足无措时想到说什么。举个例子,有一轮中面试官问我有什么问题时,我就问贵司的对应岗位会面临哪些技术挑战(当然要先说清楚这不是在质疑他们没有挑战,只是自己渴望挑战);

一些领域的资料:

关于Python技术储备

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末!!!!

👉Python必备开发工具👈

👉精品Python学习书籍👈

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

👉Python视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉Python练习题👈

检查学习结果。

👉面试刷题👈


总结(获取)

为明年打下一个好的基础,在即将到来的2022年“金三银四”提前祝大家找到心仪的工作,取得好成绩,争取能够帮助更多学习Python的小伙伴!

特别提醒加上助理微信的朋友,会第一时间自动通过,人有点多会陆续发放资料,都是免费的,大家不要着急,稍等片刻,会联系你的。注意:自动发送的CSDN的广告,请大家不要理会

以上是关于面试面到自闭,字节Python后端开发岗4轮面试,四个小时灵魂拷问,结局我哭了的主要内容,如果未能解决你的问题,请参考以下文章

面试4轮字节Java研发岗,最终拿下Offer(原题复盘)

艰辛挺过字节Android研发岗4轮面试,收到sp offer(月薪45k)!揭秘字节面试流程及考点

扛过字节Java研发岗4轮面试,收到sp offer(月薪35k)!揭秘字节面试流程及考题(附带答案)

32岁面试字节JAVA岗,没想到居然这么简单......

32岁面试字节软件测试岗,想不到居然这么简单......

32岁面试字节软件测试岗,想不到居然这么简单......