背景

  • 1、本人本科一本双非垫底的那种,硕士211。本硕电子通信,完全0基础,转行一年。
  • 2、研一上第一学期上课+外派到老师合作公司写MATLAB。去年4月开始学习Java。

起步

1、实话说,刚决定转行的时候完全零基础一开始真的啥也不会,甚至不知道怎么去学习。的确,计算机资源很多,自学足够的但是完全不知道怎么去用去学习啊!

  • 啥是leetcode?
  • 啥是github?
  • 啥是IDEA?
  • 啥是牛客网?

各种疑问,怎么操作啊?点哪个啊?身边没有人教啊。

有时候真的只是懂的人点两下的事情,自己搞要一下午。妈个鸡,第一个月真是完全浪费时间,差点原地放弃。

过程

  • 1、战略上坚定信心: 既然那么多人都可以做程序员,甚至高中生都可以,别人可以我肯定也可以。
  • 2、战术上制定计划: 培训班看视频我也看视频咯,对,就是各种视频。(现在想想自己甚至就是培训班出来的)

视频的好处是快速入门,犹如身边有老师手把手教,一步一步操作给你看。很重要一点,培训班老师上课非常认真,真的是面向高中生水平讲课。完全不用担心有卡顿,看不懂。记得某门课老师还在讲啥是二进制和排列组合。。

Java入门(4-7月):

我在 阿里云大学 上找了 李兴华老师 的Java就业班,看了部分,走完了Java SE,Java EE,MYSQL,SSM,Git的使用,跟着敲一遍,耗时大概3个月时间。学会了Java基本语法,懂得了什么是编辑器和Git,第一次知道了还有github这玩意,不容易啊。。

感觉入门视频选哪个老师的都可以,有推荐黑马和尚硅谷,我觉得看视频的主要好处是快准狠,把握重点。比自己啃完Java编程思想快多了。

狠补基础阶段(7-12月):

这一阶段,我觉得对于牛客人均本科的大家没啥大问题,主要是时间问题。就当作本科期末考试来就行,有紧迫感,十天一门课过一遍非常足够了,然后看公开课视频,再做一下练习题(我做的是王道)。七 ***三个月我过完了 计算机网络,操作系统,数据库原理,数据结构。(过完,有个大概印象,相当于期末考60分水平吧)。

其中,我觉得帮助很大的是七八月的时候,关注了github:https://github.com/gzc426/Java-Interview,然后就没啥方法,直接硬核地从头开始看。后面证明半年其实也就能看完github的所有内容了。 可以算是新手入门的最佳指南了。

下面就是我这一阶段的学习步骤和对应的资料:

  • 大纲:

  • 计算机网络:
    • 教材:谢希仁老师 的 计算机网络, 图解HTTP协议
    • 视频:韩立刚老师 的 计算机网络原理视频,
    • 习题:王道
  • 操作系统:
    • 教材: 汤小丹老师 的 计算机操作系统
    • 视频: 陈向群老师 的 操作系统原理
    • 习题: 王道
  • 数据库原理:
    • 教材: 萨师煊老师 的 数据库原理与应用
    • 视频: 萨师煊老师 的 数据库原理与应用
    • 习题: 王道
  • 数据结构:
    • 教材: 大话数据结构、剑指offer
    • 视频: liuyubobobo 老师,三门算法课视频(吹爆)。
    • 习题: 牛客网 + leetcode。九月份才注册leetcode的我。。
  • MySQL:
    • 教材: 高性能MySQL(吹爆)
    • 视频: 打造扛得住的MySQL架构
  • Java高并发:
    • 教材: Java编程思想
    • 视频: Java并发编程入门与高并发面试
  • Java虚拟机
    • 教材: 深入理解Java虚拟机(吹爆)
    • 突击效果不明显,但是好书推荐(没看完)
  • 书籍: 码农翻身,数学之美,编程珠玑,深入分析Java Web, 深入理解计算机系统

项目(10月):

学到九月份多还是虚的很,啥也不会啊,没做过东西。。于是去慕课网找了一个秒杀的免费项目:https://www.imooc.com/u/2145618/courses?sort=publish (其实这个项目根本没有秒杀。。也没有高并发),就跟着大概过了一遍,敲了一敲代码。就当作自己的项目好了。当时跟着敲完也不知道干啥,也不知道啥是DTO,怎么就想到这么处理的,一脸懵逼。稀里糊涂就做完了。。。

实际上,后来去面试的时候,这个项目基本就没问过我,面试官一看就知道很水。

第一次实习

12月的时候内心OS:当时真的是非常虚,感觉学的都是屠龙之术,也没怎么写过代码。真的菜到自己发慌。。

11月底,12月初的时候就开始尝试找日常实习了。感谢北邮人论坛,里面有非常多的实习机会。过程不表了,面经大同小异。最终入职了百度实习。一直实习到四月多。

刚进去实习的时候,Linux不会,Spring Boot不会,RPC不会,Redis不会,消息队列不会,微服务架构都没听过,Docker部署啥意思。。。

反正就是压力很大,还好一开始让看了一个月代码和熟悉环境。每天疯狂查看资料,买书看书看视频。回家过年的时候还把Zookeeper和Dubbo刷了一下。。

煽情段:只想说说找实习很看和面试官的缘分,遇到好人真的很难得。我有过一面就被面试官鄙视离场的心酸(新浪微博问了两个问题就让走了),也有过碰到师兄耐心指导(头条一面是师兄,很和善,但是三面主管挂了),也有过几个offer。很感激百度面试的两位面试官,有些问题都是他们自问自答就让我过了(后面进去实习的时候是说仿佛看到了他们当年自己很菜的样子。。。后面也是亦师亦友,非常感激!)

实习过程中的补充内容:

  • Redis:

    • 教材: Redis实战
    • 视频: 一站式学习Redis 从入门到高可用分布式实践
  • Zookeeper:
    • 教材: 从Paxos到zookeeper分布式一致性原理与实践
    • 视频: 尚硅谷大数据之Zookeeper
  • Dubbo:
    • 教材: 无
    • 视频: 尚硅谷dubbo
  • Spring Boot:
    • 教材: Spring Boot实战
    • 视频: 尚硅谷Spring Boot
  • 消息队列:
    • 最近在看kafka,还没看完不好推荐。

      春招

      实习了三个月左右,年后回到学校就三月多了,各大厂也开始了暑期实习,我也跟随大流一起投简历。

  • 薄弱点:前面可以看到因为基础太差,花费了大量时间看书和看视频,导致算法比较薄弱,只会一些非常基础的(200题不到,而且刷两题,忘一题)。所以春招开始的时候也是很紧张的,巩固基础和兼顾实习的工作,还有实验室要发小论文非常焦虑。
  • 后悔点:实在是没有办法,算法真的不是一下子就能学会的,而且也有一些懒惰,期间经常玩乐,如果能把每天休息玩耍的时间用来刷算法题。。
  • 结果:最终春招只投了腾讯和阿里,也运气比较好的拿到了offer,没有考太难的算法题。

一些补充

学习错觉:

  • 上述感觉每一块内容我就列了一两行,实际上要吃透非常困难,比如高性能MySQL和Java虚拟机相关的内容我就看了好几遍。而且需要好多博客内容加以辅助理解。
  • 我列的不可能覆盖所有的面试点,还需要保持好奇心多学习。比如大数据题思路,智力题,架构设计题等等,这些要说的内容太多了。保持好奇&互相学习!

学习方式:

  • 我比较喜欢视频快速入门-->书籍慢慢深入-->再动手实操。
  • 个人认为,学习不分方式,适合自己的就是好的,有些人比较歧视培训班出来的,我关注的某画仓鼠漫画的技术大佬就是培训班出来的,感觉非常强。
  • 为什么考研看张宇视频和肖秀荣视频就不会受歧视呢?

搜索资源:

  • 有些人学的不够快是找的资源方式不对。
  • 多向师兄师姐打听
  • 多加技术QQ群讨论
  • 常刷牛客

作者:小、麦
出自:https://blog.csdn.net/WantFlyDaCheng/article/details/100569954
觉得文章不错的欢迎关注我的WX公众号:程序员乔戈里
我是百度后台开发工程师,哈工大计算机本硕,专注分享技术干货/编程资源/求职面试/成长感悟等,关注送5000G编程资源和自己整理的一份帮助不少人拿下java的offer的面经附答案,免费下载CSDN资源。

觉得文章不错的欢迎关注我的WX公众号:程序员乔戈里
我是百度后台开发工程师,哈工大计算机本硕,专注分享技术干货/编程资源/求职面试/成长感悟等,关注送5000G编程资源和自己整理的一份帮助不少人拿下java的offer的面经附答案,免费下载CSDN资源。

零基础一年拿下BAT三家offer的更多相关文章

  1. 猎豹上市(猎豹的广告收入中有70%来自BAT三家公司,总收入中有58%来自BAT)

    发表日期: 2014 年 5 月 9 日 From 网易专题 文/赵楠 村里那点儿事 猎豹移动上市之夜,我挺激动. 激动除了因为有好朋友在这家公司外,也因为猎豹移动在历史上的几次起承转合非常不易,在巨 ...

  2. BAT三家互联网公司哪家更注重用户体验?

    这几天百度的用户体验又成了设计圈关注的对象,李彦宏好不容易刷出来的好感度一下子被打入了冰点,通过此次事件,不难看出现在的互联网用户对于产品的体验要求越来越高,作为一名美图秀秀级别选手,很难领悟“好设计 ...

  3. 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)   salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...

  4. 马云专访二:点评阿里雅虎交易、BAT三家、互联网巨头与政府关系

    记者:我们不得不要说到你和雅虎之间的事情了.你知道,雅虎对整个互联网业的意义不只是一家公司,它有它象征的意义,重要的是,雅虎对阿里巴巴的意义更加非同寻常,当你最后决定用76亿美元从雅虎“赎身”的时候, ...

  5. 从零基础到拿到网易Java实习offer,谈谈我的学习经验

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  6. 从零基础到拿到网易Java实习offer,我做对了哪些事

    作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间.本文将会讲到我在这 ...

  7. 「浙江理工大学ACM入队200题系列」问题 H: 零基础学C/C++18——三位数反转

    本题是浙江理工大学ACM入队200题第二套中的H题 我们先来看一下这题的题面. 由于是比较靠前的题目,这里插一句.各位新ACMer朋友们,请一定要养成仔细耐心看题的习惯,尤其是要利用好输入和输出样例. ...

  8. salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...

  9. 零基础Python知识点回顾(三)

    元组 元组是用圆括号括起来的,其中的元素之间用逗号隔开.(都是英文半角)tuple(元组)跟列表类似是一种序列类型的数据,特点就是其中的元素不能更改 既然是有序的,那么,嘿嘿,不错,它也可以有索引,能 ...

随机推荐

  1. Netty学习(九)-Netty编解码技术之Marshalling

    前面我们讲过protobuf的使用,主流的编解码框架其实还有很多种: ①JBoss的Marshalling包 ②google的Protobuf ③基于Protobuf的Kyro ④Apache的Thr ...

  2. DDOS浅谈

    一.DDOS攻击的来源 任何攻击都不会凭空产生,DDOS也有特定的来源.绝大多数的DDOS攻击都来自于僵尸网络.僵尸网络就是由数量庞大的可联网僵尸主机组成,而僵尸主机可以是任何电子设备(不仅是X86架 ...

  3. String与new String()的区别

    JVM为了提升性能和减少内存开销,避免字符串的重复创建,维护了一块特殊的内存空间——字符串实例池. String赋值的两种方式. 1.String str = "test"; 以这 ...

  4. [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard

    在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件. ...

  5. Docker之- 使用Docker 镜像和仓库

    目录 使用Docker 镜像和仓库 什么是 Docker 镜像 列出 Docker 镜像 tag 标签 Docker Hub 拉取镜像 查找镜像 构建镜像 创建Docker Hub 账号 使用 Doc ...

  6. virtualenv使用和virtualenvwrapper使用笔记

    virtualenv使用笔记 1.安装 pip install virtualenv 2.创建虚拟环境 virtualenv env //对于python2.7,该虚拟环境env必须在英文目录路径下 ...

  7. 梳理commons-lang工具包

    目录 概述 builder包 NumberUtils 转换 String 类型为原始类型 截取小数位数 创建包装类型 最大值 | 最小值 关于数字的检查 mutable包 relect包 Constr ...

  8. vsftpd 530 Login incorrect问题处理

    vsftpd 530 login incorrect 的N中情况 1.密码错误. 2.检查/etc/vsftpd/vsftpd.conf配置 vim /etc/vsftpd/vsftpd.conf 看 ...

  9. 记录一下vue transition 过渡各状态()

    .slide-fade-enter{   opacity: 0;   transform: translateX(100px);   /*从哪里开始过渡:在过渡之前我就把位置定义在100px的位置,并 ...

  10. MYSQL批量导入数据报:[Err] 2006 - MySQL server has gone away 解决方法

    使用values 后接批量数据插入,因mysql 系统参数设置导致失败(数据量过大).可通过临时修改系统参数来解决,对系统安全性无影响: set global max_allowed_packet=1 ...