作者:Yifen Hao
链接:https://www.zhihu.com/question/63389959/answer/210442604
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/63389959/answer/210442604
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
学java的人太多太多,水平合格的太少太少。
至少基础算法和数据结构,sql语句,tcp和http,java基础,多线程包,Spring原理懂的才能算是一个合格的初级java工程师。
——————
可能我描述的不是很清楚吧。
我觉得一个初级java上述的点肯定是要涉及的。
算法和数据结构: 几个排序要知道大概实现和复杂度吧,set和hashmap知道实现原理吧,list几种分别大概如何实现。大致清楚一个操作的复杂度和常数项(数据结构能不能这样用)
sql: 基础的sql curd要会写,简单的join,sql索引顺序,能大致评价一个sql在不同数据量时的代价(就是这个语句能不能这样写)
tcp和http: tcp,udp是啥,在哪层,会存在哪些问题,大致解决方法(有个概念),http大致先了解body,param,header,request,response,cookies,session。(概念都要有)
java基础: 有语感,知道一个简单的操作涉及到哪些包和类,百度谷歌能找到解决方案。
并发: 能够评判一个操作有没有并发问题,知道synchronized,可重入锁,读写锁,CountDownLatch,Atomic变量如何用。(有个大致的判断,什么情况下用什么工具)
Spring原理: 知道Spring核心的几个jar,core,beans,context,web,jdbc这些都是做什么的,知道Spring IOC大致原理,知道哪些地方用到了AOP。(出一些简单问题,大致知道问题在哪)