时间过得飞快,一代又一代就这么成长了起来,曾经的95后备受争议,如今的95后进入社会,扮演者各行角色,成为了行业顶梁柱,今天,要分享的是自己的成长经历。今年25岁,毕业之后进入一家小型的互联网公司工作,名字就不说了,算是熟知的,在这家公司呆了两年,直至今年才有了跳槽的想法。
每个人都拥有大厂梦,我也不例外,在小公司待久了,感觉人会荒废掉,太轻松,没有压迫感。在众多大厂中,最终选择了字节跳动。“年轻、活力、富有激情”是我听到得最多对它的形容词,所以毅然决然,希望自己能够在这个舞台上展示出自己。
一面 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面特别看你的态度,我个人觉得
-
你对于加班问题怎么看?
-
你意向工作城市,你父母怎么看?
-
期望薪资和待遇
-
是否是独生子
-
本科和硕士都是全日制统招吗
-
口头offer,期待中
(一)调整好心态
心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。
(二)时间挤一挤,制定好计划
一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。
(三)不断学习技术知识,更新自己的知识储备
对于一名程序员来说,技术知识方面是非常重要的,可以说是重中之重。**要面试大厂,自己的知识储备一定要非常丰富,若缺胳膊少腿,别说在实际工作当中,光是面试这一关就过不了。**对于技术方面,首先基础知识一定要扎实,包括自己方向的语言基础、计算机基础、算法以及编程等等。
Python学习路线汇总结合自身的一个学习经历,总结了一套非常系统的复习包,包括思维脑图、Python资料等。
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
1.技术沉淀(学习+积累)
对于技术新人来说,无论是在大厂小厂,还是在外包公司,基本上都是做得简单的CRUD工作。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。
当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。
- 阅读书籍文档:
笨办法学Python Python数据处理 Python自动化运维 深度学习 Python必备开发工具温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
Python实战项目温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
自学路上自己输出的学习成果与实战案例,包含基础知识、数据分析、网络爬虫与数据可视化等等。大部分的实战案例都有数据、代码
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
做程序员,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。
学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)