前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >八股文,吐了

八股文,吐了

作者头像
帅地
发布2022-01-13 15:32:06
1K0
发布2022-01-13 15:32:06
举报
文章被收录于专栏:苦逼的码农苦逼的码农

大家好,我是帅地。

现在计算机专业是越来越卷了,在 2016 年那会,我朋友说他去培训班培训了 6 个月,就能找到一份月薪近万的工作,培训的内容也不怎么难,就是语言基础=》框架=〉做几个项目,之后就能上岗干活了。

但现在,不一样了,如果你是应届生,那么面试官会问你一大堆理论基础,当然也会问项目,而这些理论基础,也是我们通常说的八股文

如果现在的你,单单只是掌握语言基础 + 项目,对计算机基础和算法不了解,那么分分钟被吊打,当然,还得看公司,一般小公司这方面就问的少一些。

所以呢,对于想要进大公司的校招生来说,最好的方式就是从大一大二就开始打这些理论基础,感兴趣可以去参加一些比赛,之后做项目,去实习。

当然,我说的是 以找工作为主的小伙伴可以这样,如果是想读研的,那又是另外一套学习理论了。

为了让帅地知识星球的小伙伴少走一些弯路,我前阵子也给帅友整理了一波八股文

这些都是我通过大量的面经 + 基于自己当时对八股文的准备来总结的,如果没有特别明确的学习规划,可以按我说的来。

一、通用部分

1、计网和操作系统:这两个考的非常非常多,0 基础的可以找个视频入门下,计网 0 基础也可以看《图解HTTP》,然后有时间我建议系统学下,计算机网络我觉得《计算机网络自顶向下》这本书看两遍就够了。

如果是半吊子水平,既会又不大会的状态,就看别人总结的 PDF,或者看我之前发的一个视频:计网+操作系统+计组入门教程

2、中间件:Redis,MySQL,zookeeper,消息队列,前面两个问的多,后面得看你项目有没有用到。

学习思路:MySQL 自己随便找个教程,跟着教程会一些基础操作,就可以学习原理了,面试就问原理。

我是强烈推荐极客时间的 MySQL实战45讲这个专栏,不然就看《MySQL技术内幕》,但是这一本还不够,可以配合文章吧,mysql 学习路线具体也可以看这个:肝完了,我的 MySQL 学习之路

然后 Redis,有两本,一本是《redis开发与运维》,一本是《redis设计与实现》,我觉得看第一本就可以了,然后配合文章,第二本会难一些,讲的更加深入,也可以第二本。

之后有兴趣的可以用 redis 实现一个消息队列+分布式锁,这样你在面试官面前更加能扯。

然后消息队列和 zookeeper,如果项目没用到,随便看看了解下就可以了。

如果项目用到,那就把常考理论搞明白,不用看啥书,看文章就可以了,另外可以看石衫老师的视频,B站搜索互联网Java工程师突击就可以了,看第一季。

3、设计模式:除单例设计模式会让你写代码,其他设计模式主要考察应用场景。

例如动态代理用了啥设计模式啊,所以呢,对于设计模式的学习,必须要结合场景勒,最好的场景就是框架。

就是在学框架的时候,如果有用到了某个设计模式,你就记起来,后面还能给面试题举例子。

另外就是设计模式我觉得不需要系统看书,貌似核心的就五六个,看文章学就可以了。

4、分布式:最后就是分布式了,其中分布式的学习最好是有对应的项目,但在校生哪有啥高并发分布式项目,如果有,也是你们刻意而为的项目,这些,面试官都知道。

你们说的天花乱坠的项目,在面试官面前就是小儿科,那为啥还要问,因为「卷」。

所以这块在学的时候,主要就是学一些「理论」和应用场景,例如 布式id,分布式事务、分布式锁、分布式算法(Raft)、分布式缓存。

不过这块如果你简历不写,其实也不怎么问,项目用了才会问,至于看什么资料?这块我当时是看文章的,你们可以文章积累,也可以看看极客时间有没有对应的专栏。

二、语言部分

5、Java部分主要考察:Java基础,并发,虚拟机,集合原理,就这四个,后两个问的更多。

学习思路:首先 Java 基础没啥好说的,随便找个视频快速看就可以了,我推荐上学堂Java高琪第一季。

不过我当时的看了第一季和第二季,这里其实也建议看到第二季,也就看到 242 集,然后 第一季在 147 ~161 集是一个小项目,这个项目不想做可以不用做,我当时没做。

之后并发,我觉得你把《Java并发编程艺术》这本书看三遍,就可以了,第一篇很痛苦,经常犯困,第三遍很多都豁然开朗。

之后就是集合这块,直接看别人的文章来复习源码,主要就是 hashMap,concurrenthashMap,ArrayList,LinkedList 这几个,像 List 这些,有时间可以自己实现一个。

然后就是虚拟机,把这本《深入理解Java虚拟机》的书,看两三遍就行了,一本就够了,重点是垃圾回收,内存管理,类加载机制 这块。

6、Java框架部分:这块没啥好说的,就 Spring,SpringBoot,MyBatis,SpringMVC,不用学太深,用他们做过一些项目 + 注意下用到的一些设计模式。

还有 AOP 和 IOC,学的时候,看视频 + 文章,通过面试题针对性看文章就可以了。

7、C++待补充,由于C++和前端这块,我不怎么熟悉,后面补充

三、学习优先级

学习优先级:1,2(mysql和 redis),5,6这四个,没啥优先级,都得学(非Java开发的 5 和 6 不用学)。

之后设计模式快速了解下,然后如果你项目用到了消息队列,分布式这些,那就要重点学习啊,否则有时间学习下理论,因为项目用到了就肯定会问,例如如何用 redis 实现消息队列啊。

最后学的时候,验证自己学的如何可以看面试题和面经,这块我网站都有提供,你们可以去看:https://www.iamshuaidi.com

然后就是,是不是觉得需要学的很多?

假如你学习能力强,有基础,其实一年时间就够了,真的,就是要静下心,疯狂学,快的就半年(就是你平时有学过一些基础)。

后面我会基于这些八股文,系统补充上学习资料以及考察重难点。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅地玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、通用部分
  • 二、语言部分
  • 三、学习优先级
相关产品与服务
消息队列 CMQ 版
消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档