长沙Java培训:Java程序员相关知识点
推荐
在线提问>>
很多人都说现在Java的要求越来越高了,而且Java面试的要求越来越高了。随着新技术不断涌现,对新晋员工的要求逐年增高是正常现象,但目前Java面试难度整体来说其实是大于实际开发所需的Java水平的,下面长沙Java培训班总结下Java程序员相关知识点:
1.集合方面:map,set,list的区别概念,问你点具体的实现类简单点的就HashMap HashSet ArrayList,看你能扯多少,要是能行的话我们换点稍微有意思的话题HashTable,CurrentHashMap,TreeSet,LinkedHashSet,LinkedArrayList,BlockingQueue及其各种实现。
2.IO方面:BIO\NIO\AIO你有能知道多少呢?这个话题可就多了也见深浅了,话题也开放了。基本的IO操作,到实现机制、设计模式乃至操作系统的各种调度我都可以和你聊一聊,也顺便可以和你扯一扯mina,netty,Grizzly,听没听过,玩没玩耍过,相信很快能摸出你的深浅。别说这些没有用哈,rpc的框架的异常堆栈抛出来了,基本上都在上面三个东西里面。
3.多线程:线程的生命周期,同步异步的区别,什么时候需要同步,什么时候需要异步,线程的调度方式,聊聊并发编程,为啥要并发,怎么去并发,你处理了哪些并发问题,说句真心话,别说没有应用场景,都知道业务流程有主次之分,那么对于不影响主流程的次要流程。
4.虚拟机的那些事儿:都搞java了,虚拟机的一些东西你总得知道吧?JVM的内存模型,垃圾回收机制,各种机制下的垃圾回收器怎么工作还是知晓些吧。
5.一些基本的东西:http协议、https协议,dns解析过程、servlet是个什么东西?生命周期如何?request/response区别,session/cookie区别实现机制,redirect/forward的区别你能给简单讲讲?
6.编程框架:搞web开发的,问下web的框架执行流程总得讲一下吧,比如SpringMVC是如何工作的?你自己实现个web框架可以还是不可以?怎么做,可有思路?自己吃饭用的勺子怎么工作的你还是应该了解的撒?别说现在要求高,过去还会把问题换下,struts webwork springMVC的执行流程有什么区别?
7.既然都已经扯到了Spring了,那么IOC\AOP的实现原理怎么来的,bean的作用域有哪些,务传播机制,隔离层级,基本还是要问问的?反射,代理怎么回事不可能搞不清楚吧。代理的几种方式JDK的cglib的aspectJ的,你又知道多少?抛弃了框架你自己实现基于类的代理有门么?mybatis听过没?不管你听没听过反正jdbc那些事情,数据库连接池的那些事情,我们有得聊,只要你能勾起我们的聊天兴趣。还没聊spring boot呢,上面这些你掌握得比较好,都够可以了。
8.通用性质的一些东西:大名鼎鼎的apache你知道吗?web服务器,应用服务器类的区别你知道吗?ngnix玩耍过没?ngnix你都用来干了些什么?缓存可有听过?怎么来玩耍?从浏览器端一直到后端的各层缓存该怎么来玩耍?策略又是如何来定的?分布式缓存可有听过?memcached,redis可有玩耍过总之话题很多,不一而足。
9.分布式的一些概念:你可知晓为啥要分布式?分布式有哪些经典问题?简单点的如何实现应用无状态,负载均衡有没有概念?如何做?如何去做高可用?如何去保障分布式环境下的一致性问题?消息中间件玩耍过没有?知不知道都有哪些,实现区别在哪里,用它干嘛去?分布式的环境下如何去保障服务的可靠性?如何面临雪崩问题?如何面临穿透问题?包括但不限于spring cloud的相关话题,都解决了哪些分布式中哪些个方面性的问题,如何解决的,策略有哪些等等...