字节跳动Python后端开发岗,已拿offer

字节跳动Python后端开发岗,已拿offer,第1张

字节跳动Python后端开发岗,已拿offer 背景

时间过得飞快,一代又一代就这么成长了起来,曾经的95后备受争议,如今的95后进入社会,扮演者各行角色,成为了行业顶梁柱,今天,要分享的是自己的成长经历。今年25岁,毕业之后进入一家小型的互联网公司工作,名字就不说了,算是熟知的,在这家公司呆了两年,直至今年才有了跳槽的想法。

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

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

一面 90多分钟
  1. HTTP通过什么保证安全传输?

  2. 说一下应用层中使用UDP协议的应用?TCP?UDP+TCP?

  3. HTTPS解析过程

  4. 一道算法题,1只羊99头狼,规则是狼吃了羊,羊会死,狼自己也会变成羊,说一下最后的情况。(数学归纳法)

  5. Linux下NGINX配置文件默认在哪个目录,如果某个用户更改了目录,通过什么命令找到(说一下Linux命令)

  6. git中pull和fetch的区别(git pull = git fetch + git merge,我只记得是这样 )

  7. innodb中的insert、delete、update、select MVCC原理说一下(中间提到了版本号)

  8. 对应上一个问题,版本号记录的规则?

  9. IO多路复用?讲一下?(提到了select)

  10. select描述符限制是多少?(1024 ),为什么是1024???

  11. 僵尸进程概念?如何解决?(由于中间提到了先让父进程结束)

  12. 对应上一个问题,孤儿进程概念?

  13. tcp滑动窗口 是干嘛的(流量控制的一种方式),说一下原理,概念,为什么叫滑动窗口,大概是这个意思。

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

  1. 说一下is和==区别,直接秒杀了,然后问is实现原理,利用了单例嘛,秒了,让我讲解一下单例,懒汉式,饿汉式,优缺点都说了。

  2. 说一下list、tuple、dict底层,然后问了set去重原理(__hash__和__eq__嘛)

  3. metaclass,用在何场景,(ORM),说一下type()各个参数

  4. PythonPath变量是什么?分别解释一下

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

  1. 上来就Redis缓存穿透,缓存雪崩,说下一按概念,如何解决就OK

  2. Mysql排错和调优

  3. 分库分表规范,准则

  4. Redis持久化方式,还捎带问了问项目的缓存情况

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

二面 26分钟
  1. 深挖项目,git、nginx(反向代理、负载均衡)

  2. 场景题:假设我有多台服务器,将我的项目如果反向解析调用了别的服务器,如何实现,采用哪种方式(轮询、weight),分别说一下优缺点,以及特殊情况也要考虑(比如某一台服务器挂了,但是你并不知道是哪一台 )

  3. 算法题:lc(227) 计算器,当时直接eval来着,面试官笑着看我。。。

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

三面 35分钟 电话面试

直接两道算法题口述

  1. 面试官临时举的例子,举的牧羊犬和羊,大概意思有点像老鼠喝毒药(二进制)

  2. 规划交通,类似于图的遍历。。。(不简单 )

hr面 告诉我通过了

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

  1. 你对于加班问题怎么看?

  2. 你意向工作城市,你父母怎么看?

  3. 期望薪资和待遇

  4. 是否是独生子

  5. 本科和硕士都是全日制统招吗

  6. 口头offer,期待中

学习经验总结

(一)调整好心态

心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。

(二)时间挤一挤,制定好计划

一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。

(三)不断学习技术知识,更新自己的知识储备

对于一名程序员来说,技术知识方面是非常重要的,可以说是重中之重。**要面试大厂,自己的知识储备一定要非常丰富,若缺胳膊少腿,别说在实际工作当中,光是面试这一关就过不了。**对于技术方面,首先基础知识一定要扎实,包括自己方向的语言基础、计算机基础、算法以及编程等等。

结合自身的一个学习经历,总结了一套非常系统的复习包,包括思维脑图、Python资料等。

Python学习路线汇总

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

精品Python学习书籍

1.技术沉淀(学习+积累)

对于技术新人来说,无论是在大厂小厂,还是在外包公司,基本上都是做得简单的CRUD工作。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。

当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。

  • 阅读书籍文档:
小白入门第一本电子书籍

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

笨办法学Python

Python数据处理

Python自动化运维

深度学习

Python必备开发工具

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

Python实战项目

自学路上自己输出的学习成果与实战案例,包含基础知识、数据分析、网络爬虫与数据可视化等等。大部分的实战案例都有数据、代码

Python视频合集


我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

面试刷题

总结(获取地址)


做程序员,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5434940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存