985本科,机械专业,转行做开发,从自学到拿到字节跳动offer期间经历了很多,还记得自学完第一次面试时连自我介绍都磕磕绊绊的时候,以及后来在朋友的鼓励下重新备战,到最后拿到字节offer的激动,下面聊聊我的个人历程,希望对你有所帮助!
自学
我是从去年10月份开始自学的,非科班自学到找到工作有多难只有自己知道!
刚开始非常的迷茫,不知道需要学哪些知识,不知道该怎么学等等。只能去网上找一些相关的学习视频来跟着学,这些视频的水平参差不齐,但好歹有了大概的学习方向,经过一段时间的学习后,时间来到了今年2月份,因为疫情的原因,给第一次找工作的我带来了非常沉重的打击!
复习准备
在朋友的鼓励下,重新振作的我开始了复习之旅,首先面对的是计算机网络和操作系统,为了缩小和科班生直接的差距!
常考的命令有:top、chmod、du/df、vim、head、tail、ps、kill、cat、ping、grep、cp、mv、rm、tar、diff、scp、ssh、more/less、mkdir、rmdir等等。
这里看了马士兵老师讲的操作系统课程,以及两份笔记《认识操作系统》和《程序员必备硬核知识大全》,下面简单展示下目录吧
限于平台篇幅原因,只能展示部分目录,有需要的朋友帮忙点赞文章后,点这里即可免费获取到!
计算机网络常考的内容:
1、OSI七层模型、TCP/IP5层模型以及每一层常用的协议
2、TCP、UDP协议的区别、TCP粘包问题、数据报文的结构(应用程序+TCP/UDP报文头部+IP报文头部+以太网头部)
3、点对点和端对端
4、TCP的滑动窗口、拥塞控制过程、三次握手、四次挥手以及每个过程的状态,为什么三次四次
5、SYN泛洪攻击
6、浏览器输入url并回车的过程(①、根据域名查询域名的IP地址,DNS解析。②、TCP连接③、发送HTTP请求④、服务器处理请求并返回HTTP报文⑤、浏览器解析渲染页面⑥、连接结束。)每个过程都要很熟,要经得起推敲,不要面试官一深问就不会说了
7、HTTP1.0、1.1、2.0之间的区别
8、HTTP 和HTTPS的区别
9、SSL连接的过程、对称加密、非对称加密
10、HTTP请求的各种方法、状态码(1**、2**、3**、4**、5**)
11、请求行、请求头、请求体、响应行、响应头、响应体都包括什么
12、Session和Cookie的区别以及如何解决分布式session问题
计算机网络看了周老师讲的视频,以及《趣谈网络协议》这里就简单展示下视频笔记和趣谈网络协议的部分目录吧
缩小和科班生的差距后还要更进一步才行,这一步我选择了算法。
算法题还是以刷题为主,看过左神的算法你会发现新世界的大门像你打开了
当时只看了左程云老师的算法书《程序员代码面试指南》、算法刷题笔记、数据结构与算法笔记等。后来才看左神的视频,如果当时早点看,复习时间可能会缩短很多
下面展示下部分目录及视频吧
限于平台篇幅原因,只能展示部分内容,有需要的朋友帮忙点赞文章后,点这里即可免费获取到!
只是掌握这些是完全不够让我拿到字节跳动offer的,下面是我从朋友手中拿到的腾讯大佬整理的架构宝典,涵盖了基础、多线程、JVM、设计模式、分布式、微服务等等面试必问的技术,主要分为以下三部分:
**第一部分:**JavaSE部分,主要讲Java基础的知识,不管是在哪里,基础都是很重要的,用于复习的时候感觉非常顺畅!
**第二部分:**框架部分,主要讲解面试中常见的微服务、网络编程、分布式存储和分布式计算等必备知识点。
**第三部分:**原理部分,主要讲解JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等面试必备知识点。
JavaSE部分 部分目录
框架部分目录
原理部分目录
复习到这里,自己的技术栈已经比较完整了,时间已经来到了今年9月份,在这期间也有面过几次,虽然有拿到offer,但最终结果还是不能令自己满意。
吸取了以往面试的经验,开始了修改简历、刷面试题,这里是靠着下面这份《面试突击手册》完成的:
最后
互联网行业没有一瞬间就能学会的神功,只有通过自己的努力坚持学习才能达成目标!
很多人不是缺乏努力,而是缺少努力的放下,现在我将它们都免费分享给大家,有需要的朋友帮忙点赞文章后,关注点这里即可免费获取到!