Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java这样学,Offer随便拿,学习方法和面试经验分享

Java这样学,Offer随便拿,学习方法和面试经验分享

作者头像
帅地
发布于 2019-03-06 03:12:36
发布于 2019-03-06 03:12:36
7750
举报
文章被收录于专栏:苦逼的码农苦逼的码农

对于面试经验类的文章,自己也看过不少,感觉这篇讲的很不错,感觉比较实在吧,特地转来分享给大家。之后我会更新面试相关的一些题,共同学习!

来源:占小狼的博客 | 作者:谢照东

现在各大互联网公司,对Java类的校招要求越来越高,导致很多小伙伴都很迷茫,今天分享一篇谢照东关于Java学习进阶之路,希望能帮助到一些人

佛说五蕴六毒是妄,将因果都念作业障,知乎搜索“谢照东”

书籍

把看过的书罗列一下

《java核心技术:卷一》,这个是我入门java的时候看的,非常适合新手!

《java设计模式》这本书虽然是个外国人写的,但是感觉不是很好。评价一般。学习设计模式的时候我一般都看大牛的博客。

《深入理解jvm虚拟机》 这本书不用多说,业界非常非常好的一本书!多看几遍,每一遍都有很多收获

《深入分析java web 技术内幕》不得不说,这本说在各个方面都非常优秀,不愧是偶像写的书!还求山哥多多照顾。嘿嘿

《Spring技术内幕》在spring源码讲解方面,个人感觉非常不错。能够深入理解内部机制,但是需要多看几遍

《编程之美》业界翘楚,在算法方面终结的非常好,题目也非常有代表性 《剑指offer》不用多说,和上面一样,可以锻炼一些算法能力

《java编程思想》传说是java行业内的神书,但是目前表示还处于一知半解状态

Hadoop技术内幕》这个可以pass掉,学习hadoop的时候看的

TCP/IP详解,卷一:协议》可以对tcp有更加深刻的认识

《java网络编程》,不是很好,将就可以。学学api还是可以的

《分布式java应用:基础与实践》这个是毕玄大大写的书,非常不错哦

《how tomcat works》在讲解tomcat内部原理方面,个人觉得是非常不错的书!等级又要上升一个档次

《java并发编程实战》对java并发方面,讲得还算不错的书籍

当然还有一些杂七杂八的书(走了不少弯路,你懂的!),我就不列出来了,上诉都是笔者认为非常不错的书籍。

最近正在看《算法导论》,和《算法》,md,其实我也想成为算法狗

当然,上面这些书我表示只懂50%,惭愧。不能完全吸收大牛的精髓啊!

知识点

数据结构不用多说,什么B树啊、红黑树啊、栈、队列等等,至少保证能够清楚的说出来,说出他们的原理!具体的应用场景是什么啊!,当然能写出来更好(手写btree会死人,其实还有一个数据结构叫skiplist,逃

算法的话,建议题目多看看算法题目,或者把leetcode上的算法题目刷一遍(目前本人只AC的几道题,惭愧。知道该资源的时候已经晚了,现在在努力刷刷刷)。另外可以看看july的博客,

数据库就更多了,索引(结合B+tree,两个引擎的不同之处)、存储过程、引擎、触发器, SQL必须是要熟练的,写SQL的时候多考虑考虑效率,想想还有没有其他的语句能完成这个任务,在哪方面提高了,为何呢?数据库引擎要了解一下,分布式数据库也是,什么主从分离啊,分库、分表、分区啊,这些常见的解决方案

操作系统我属于渣渣,个人就知道一些进程、线程、一些调度算法之类的~~~~(逃

计算机网络如果是研发岗位得话,TCP/IP这一张需要好好看看,HTTP协议不用多说,常见的状态码等等,一次http请求有哪些过程,这个要理解透彻

java:基础非常重要,当然也要深入理解原理,什么JVM,JMM,Classloader,还有一些常见类的源码,自己可以试着分析一遍,现在让你说出LinkedList的内部实现你能不能说出来,HashMap不用多说了,80%的面试都会问到。还有重要的,多线程,并发,网络,IO。这些都是要看看看看的!自己多思考!还有楼主说的那些框架,说实话,你要是基础好了,这些都是能够学得很快的,很多问题,看一下源码什么都就懂了!特别是spring的源码要好好看看,里面的架构设计得非常好!各种设计模式满天飞!

另外,linux要了解一下,至少要回基本命令吧,脚本语言可以学习一个。比如py!前端要了解一下.

关于如何看书:两个字,思考!三个字,不要脸的思考!…………,书不在多,在于精,选书要慎重!反正题主一本叫做“王者归来”的书,我看见名字我就不想看!

除了这些然后呢:每天刷几遍CSDN,平常可以上上oj刷刷题目,国内的牛客网(牛客网-专业IT笔试面试备考平台,最全求职题库,全面提升IT编程能力)非常不错,也可以去leetcode上面把题目刷一遍哦。关注一些好的社区(我一般混迹在CSDN高性能javaweb板块),睡觉之前看微信公众号,当然是技术方面的!推送的文章都挺不错的!

做程序员个人觉得眼界很重要,就算这不是你的领域,但是你也要知道一点,所以经常关注其他的新技术是非常重要的!平常多接触一点开源技术,多上上github,争取能在github上面贡献一点自己的东西!

然后,多看看别人的技术博客。思考自己!

关于我的学习方法和面试经验的分享

1、基础

主要看《java核心技术:卷一》的重点章节

掌握java常用技术,io、多线程、反射、常用集合框架

数据结构看一遍,作用至少要清楚。如hash冲突解决办法,常用排序算法的应用场景和空间/时间复杂度等

数据库,能看懂ER关系,熟悉数据库三大范式,熟练常用SQL语句

可以掌握一点java网络编程方面的知识,对tcp/ip有初步的认识

课程不能落下,专业课程(计算机网络,操作系统,数据结构,数据库,计算机组成原理)要好好学。不要挂科

学习servlet/jsp,至少能写简单的图书管理系统,熟悉核心api

了解前后端交互方式,ajax、json/xml至少知道,会使用jquery,html,css,js最好

2、提高

学习后端框架,SpringMVC/Struts2、Mybatis、Spring,熟悉MVC模式,知道三层架构及每一层之间的关系

会用chrome/firefox浏览器分析http请求,解决、定位问题。知道常用http状态码,了解TCP/IP,知道一次http请求发生了哪些事情

学习设计模式,23种设计模式都需要了解一点,熟悉常用的如:单例,工厂,模板,适配器,代理,责任链,构造器,装饰器,迭代器,策略,命令,观察者,外观,享元。理解他们的好处,可以找找在其他框架哪些用了这些设计模式。

可以适当的看一些源码,Spring的源码可以着重的看一下。tomcat可以从源码的角度看看tomcat的整体设计方案,一次请求tomcat如何处理,servlet在tomcat中的加载,编译过程。tomcat自定义的ClassLoader有什么作用。

会设计数据库,多对多,一对多,迭代,会写复杂的SQL,了解SQL调优,会写存储过程,触发器。熟悉索引的使用,了解视图。去了解一些常用NOSQL,比如Redis/mongodb

学习Linux,熟悉基本命令,学习一种脚本语言(shell/python)。会在linux下写脚本开发

3、深入

算法,可以看看编程之美,算法导论。学习一些算法相关的知识

深入java:理解JVM,JMM,Classloader,GC算法,GC收集器。学会定位OOM问题所在。

源码分析,常用集合类如:Hashmap,Arraylist,linkedList,HashSet,ConcurrentHashmap等的源码分析,要非常熟悉java集合框架设计。最好能够分析一种框架源码,比如Spring

深入数据库,理解至少两种数据库引擎(Inndb/Mysiam)的差异性,熟悉索引的内部数据结构,熟悉常见的索引方式(Btree,hash),和索引类型(unique,full text,normal),会使用explain分析SQL语句,会优化SQL语句,熟悉一种NOSQL,知道内部实现原理(内部数据结构,在算法优化,内部机制),掌握分布式数据库的知识,分表,分库,分区,分布式事务等,可以学习一个数据库中间件(TDDL/COBAR)

架构设计,看看大型高流量/高并发的网站设计(CDN,异步,前端优化),了解缓存(分布式memcached/常用本地缓存),搜索引擎(lucene/solr/elasticSearch),分布式(负载均衡/分布式数据库/分布式应用集群),消息队列(ActiveMQ/Rabbitmq)在大型网站中的作用

还有一些其他的知识,如RPC框架,分布式服务架构,SOA,REST架构等等

可以接触一些云计算方面的知识,如Hadoop/Storm/Spark等,要是再能接触一点机器学习就更棒啦(反正我是没有,听着就吓人,跑个kmeans算法都要弄死人,(

在之后,「苦逼的码农」会分享整理Java工程师面试的一些知识点、面试题,包括Java各大知识点、数据结构与算法、操作系统、计算机网络、数据库等知识点,不过是以次条的形式分享大家多多关注公众号的动态,建议置顶。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从Java小白到收获BAT等offer,分享我这两年的经验和感悟
常想,人生最有趣莫过于前路未知。于是我常常羡慕那些个“金梁古温”笔下随遇而安、随性而为、随缘而爱的浪子们。比如陆小凤,比如叶开。
猿天地
2019/05/15
6650
从Java小白到收获BAT等offer,分享我这两年的经验和感悟
科班和非科班都适用的 Java 学习路线
很多面试官在基础考察的时候都是直接是根据书来问,因为这些面试官也是从学生时代过来的,而他们可能和你看的是同一本书。也就是如果你和面试官的知识体系结构一样的话,面试官问出来的问题,你自然可以回答得很好。下面是书籍推荐:
乔戈里
2019/03/02
1.1K0
小白和进阶都适用! java学习路上必看的书单
男怕入错行,女怕嫁错郎,学java最怕看错书!也是很久之前就想写这篇了,以前也零零星星的推荐过几本书,但是始终没有这样认真的整理一篇出来,这篇文章就是和大家探讨一下哪个阶段,应该看什么书,需要掌握到什么程度。
微笑的小小刀
2021/03/24
6690
Java继承知识点
相关连接 https://www.jianshu.com/u/9fe0904bd4c6 https://note.youdao.com/share/?id=40e70c92e16edf90b6c502
chenchenchen
2022/11/29
3880
Java继承知识点
给Java程序猿们推荐一些值得一看的好书
很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。
三哥
2018/06/27
3830
你不可错过的Java学习资源清单(包含社区、大牛、专栏、书籍等)
作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验、求职心得和成长感悟,以及作为程序员的思考和见解。
程序员黄小斜
2019/03/11
1.4K0
95后妹子面试的那些"套路"(附带个人书籍推荐)
最近有很多朋友问我一些面试题,或者说准备面试了,怎么复习啊. 孔孔老师就上线了…正好趁着早上不想学习, 就再把这一块总结总结. 个人拙见(毕竟我还是很low的…) 夹杂部分书推荐
kirito-moe
2019/04/30
9600
周末再聊聊Java学习路线
我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了一段时间很容易迷失。所以我在寻思着能不能写一个学习的地图或者路线,让读者能知道下一步该学什么,自己离大厂的 offer还有多远的距离。
Java3y
2020/12/31
7550
周末再聊聊Java学习路线
从零讲JAVA ,给你一条清晰地学习道路!该学什么就学什么!!
1.计算机基础: 1.1数据结构基础: 主要学习: 1.向量,链表,栈,队列和堆,词典。熟悉 2.树,二叉搜索树。熟悉 3.图,有向图,无向图,基本概念 4.二叉搜索A,B,C类熟练,9大排序熟悉。 5.树的前中后,层次,之字,最短路。 6.KMP等字符串算法。 1.2操作系统: 主要学习: 1.进程,线程,进程线程区别。进程间通信 2.进程调度算法理解 3.存储,虚拟内存,分页分段,内存调度算法 4.文件系统,链式,索引 5.死锁:原因,避免,解除k 6.Linux基本操作命令,会一门脚
三哥
2018/06/15
6200
从零讲JAVA ,给你一条清晰地学习道路!该学什么就学什么!!
 原文链接:https://zhuanlan.zhihu.com/p/25296859
黑泽君
2018/10/11
4600
计算机科班Java开发好书推荐
这些书全部都是我看过的,大部分都至少读了一遍到两遍,且还整理了笔记,少部分是挑的重点章节看的。
乔戈里
2019/01/07
7600
Java面试经验+最新BAT面试资料分享给大家
最近3个月一口气面了十几家公司的Java开发岗,大大小小的面试笔试加起来快20场,收获很多。本人即将毕业,在一家国企实习做java开发,感觉自己很水,刚开始面试时发现自己掌握的东西与外面企业流行的技术有些代差,所以一边面试一边总结,感觉面试时问的东西明显和自己平常了解的不太一样,所以给自己做了一个总结,希望对以后的面试有所启发。
用户4447430
2019/05/07
8060
Java学习之路 -- Java怎么学?
当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!
秦怀杂货店
2021/03/29
1.2K0
java 进阶之路(书籍推荐)
学习Java,书籍是必不可少的学习工具之一,尤其是对于自学者而言。废话不多说,下边就给大家推荐一些Java进阶的好书。
马士兵的朋友圈
2020/09/08
1.7K0
java 进阶之路(书籍推荐)
Java工程师核心书单推荐
书籍是获取知识的最好来源之一。技术书籍浩如烟海,市场上有不少《XXX入门到精通》,《XXX王者归来》,《21天学会XXX》这样的书,当然也有不少经典,个人的精力有限,这些经典不可能都通读。所以·,博主尝试整理一个Java工程师所需知识的核心书单,尽可能优中选优,挑选出Java工程师必备知识的一些最核心、最经典的书籍,希望能一起学习,一起进步。
三分恶
2021/03/16
6370
Java工程师核心书单推荐
读者上岸阿里的硬核经验分享
大家好,我是石头哥,最近正值校招季,这里分享一篇硬核校招面经,希望对大家有帮助。
程序猿石头
2021/09/24
9700
读者上岸阿里的硬核经验分享
Java学习必备书籍推荐终极版!
很早就想把书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇文章对你有帮助,不要再无书可看。
乔戈里
2019/05/13
1.5K0
如何学Java?求各位指条路吧~
当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的基础,其实学java确实感觉挺容易上手。如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就看源码,绝对劝退!!!
秦怀杂货店
2022/02/17
6360
给Java程序猿们推荐一些值得一看的好书
本文介绍了如何利用Java编程实现一个简单的RESTful API,包括定义API端点和请求方法,处理请求和响应,以及使用Spring Boot和Kotlin构建Web应用程序。同时,还向读者推荐了一些值得阅读的书籍,以帮助读者进一步提高自己的Java编程技能。
Java后端工程师
2017/12/14
2.4K0
Java后端工程师必备书单(含大后端方向相关书籍)
作者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer
程序员黄小斜
2019/03/11
3.2K0
推荐阅读
相关推荐
从Java小白到收获BAT等offer,分享我这两年的经验和感悟
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文