刷书才是王道,看完以下书籍每本的80%
java nio(讲jdk1.4的)——裴小星译
pro java7 nio2
netty in action
netty 权威指南第二版
java并发实践
http权威指南
java与模式
redis入门指南第二版
从paxos到zookeeper分布式一致性原理与实践
深入java虚拟机 第二版
深入理解java虚拟机——jvm高级特性与最佳实践
深入浅出mysql第二版
算法——第四版 谢陆云
大型网站系统与java中间件实践
spring实战第4版
spring boot 实战
——————我是分割线——————
linux 可以部署安转,查日志,看懂简单的shell脚本 熟练grep ,vi,less, ps等命令
mongo db 查询,删除等常用操作
kafka 原理与使用
nginx,lua脚本 要了解(准备学)
tomcat (暂未系统学)
php 可以看懂简单代码,就是array稍复杂
python (准备看呢)
————————我是分割线————
学而时习之,不亦说乎
都不难,我这一年边工作边看完了,最难不超过初二或初三数学,
说难的是觉得比小学四则混合运算难,都是对技术没有真正兴趣的
————————2017年7月的分割线————————
坐标北京刚刚面试了几家公司拿到两个offer,谈谈体会,建议学习的时候又一个精简的笔记,是概括的过程,复习的过程,心得的过程,学习要循序测进,培养兴趣,一本书看不下去了,就先看别的。
1)thinking in java 4 看完90%,仔细看了其中85%的代码例子,手动运行了30%的代码。 复习的话一周到两周。有些部分如讲回字的四种写法的可以不看,当然这部分小于10%,集合框架,反射,内部类,io,Exception,generic , 这本书做项目的时候很多内容其实是用不到的,对于设计模式的理解,对于框架实现机制的理解,对于io及多线程的理解,这本书起到一个承上启下的作用,如果只是为了面试及做一个初级及中级的开发,不用学习太深入,因为太厚了
2)effective java 这本书很好,看了这本书才能理解为啥需要设计模式,这本书不厚,但内容很深入,大约需要1周左右看完40%,感觉看不懂的先不要看。先学别的,然后再回来学,这本书是需要长时间深入体会的。初级及中级开发不必把时间太多花在这本书上
3)java与模式,这本书需要反复体会,一般达到面试的要求1周左右就可以,类与类的关系;设计模式总的原则;创建,结构,行为,每种会5个模式即可,务求理解,这本书真正的作用需要实践中才能体会。
4)sql 基础,深入浅出mysql, 这部分一周吧,要了解数据库的三个设计范式,四种隔离级别,jdbc的主要操作,mysql的索引等。
5)ssh 部分,spring 结合那个随着安装包的reference看最好,因为版本变动的原因,有些书籍讲的可能落伍了,当然不用全看,因为短时间内也看不完,ioc,bean的作用域,完整的生命周期,beanpostprocessor, aop, spring mvc,web service,jax-ws,spring mvc的各种注解,DispatchServlet,HandlerMapping,ViewResovler,Interceptor,事务
这部分看两到三周,理解原理即可,会注入,会一些简单的配置即可。
6) linux 基础命令 1到两天,最好自己安装个虚拟机,敲一下
7)redis 这个一到两天吧,就string,map,set, list,sorted set 5种,一般问和memecache 有啥区别,问问内存申请,分配啥的,java一般用jedis.
8) hibernate,mybatis 各两到三天吧,结合spring mvc 用或者不用maven自己配一下,自己用mysql 做一个小的demo,如果你能知道性能,缓存,那就nb了,mybatis3学起来快,我看了3天吧每天3个小时,我学得慢
9)深入java虚拟机,建议大概看看,一周吧,了解一下方法区和堆,class文件加载的机制,内存溢出和泄露的情况,快的话几个小时,当然想成为大牛必须深入了解。要有thinking in java中相关的类和接口,内部类,反射的基础再看这本书才好
10)大一点的公司一般用soa,主流是阿里公司的dubbo协议,这个原理可能有点复杂,我也不是很清楚,用起来似乎挺简单的。
11) mq,或者active mq 大概看个两三天,略微了解一下。还有kafka,kestrel队列,zookeeper
12)js ,jquery,json,http协议,这方面了解一些即可,一般面试不问,入职后能参与项目就行。一般是json和java对象的互相转换,用fastjson或者jackson,能用jquery操作dom,js的表单提交校验等。
13)会使用eclispe ,idea,maven,我觉得各一天就行
回忆几个面试过程中印象深的问题吧。
a)二叉树的深度周游和广度周游,当时深度周游还好,广度周游就是想不起来。后来回来一看,不就队列吗!
b)linux 上有个文本文件,一列是姓名,另一列分数,假设有很多行,如何排序,当时我也不会啊,回来一查不就是 sort –t -k -n -r 嘛,这有啥啊
c)看我简历上写了熟悉tcp ip协议,就问我tcp为什么比udp可靠,我说长链接,三次握手,再问三次握手的过程,我说不知道
d)java内存模型,虚拟机优化问过几次,答主真是不怎么知道啊。
e)在某大型网站的主页上挂个投票功能,怎么设计? 我还是不知道,随便说了说,当然就没戏了
f)还有人问我n+1什么时候小于n, 我说不可能啊,他说再想想,我一想,不就是整型溢出的时候嘛,补码表示,这问题真是
java高级架构交流群号:617912068
网友评论