java面试遇到的坑[第三期]

亲爱的同学们,本人因为连续几周遭遇一定的工作压力几乎被压榨的只剩一个空壳,还好经常锻炼有一副好身体(皮囊),算是挺过来了。为了大家年前能早早入坑马不停蹄回到阵地给大家带来第二期的面试坑题,有些题是大家经常被问到的,有些可能还未接触到先可以了解下。事不宜迟,赶紧跟随我一起看看有哪些题,一起加入到防套路中来。

NO1.请简单描述JDK和JRE的区别?以下的回答大家觉得还好吧

面试者:太简单了,JDK就是支持java开发者完成变成所需要的语言支持环境,而JRE则不需要JDK那么强大的工具,只需要能运行JAVA程序就可以了。呵呵,too younge too simple.

NO2.告诉我JVM的类加载过程?对不起各位这里直接提升了面试的难度,但是工作三年以上的中级程序员还是需要了解的,看图说话还差哪些过程么。

 

NO3.哦,工作快三年了,了解多JVM的双亲委派模式么,为什么需要由父类加载类再传递给最下面的类加载器?

                                       

 

面试者:就是说一个类进入虚拟机加载环节后,先由ApplicationClassLoader询问ExtentionClassLoader二哥这个类你能加载不,二哥自己也很谦虚还是我先问问大哥吧,大哥接到二弟请示后看了看类,哦,原来是String类啊,这个交给我加载了,你们不用管了。如果三弟不请求大哥二哥加载类的意见自己擅自行动加载String类,很可能加载到黑客自己写的String类,那后果简直不敢想象。

NO4. 哦,对了如何如何控制多个子线程任务执行完成,再执行主线程程序?除了thread.join(2000),还有其他方法么?
NO5. 下面的代码执行以后S1,S2分别等于多少?还是说会出现什么问题?

NO6.年轻人,请回答一下servlet的生命周期,这个对于了解配置加载和预加载参数有重要意义?

面试者:web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
面试官:请问当前Springmvc中controller会在调用后destroy么?
面试者:。。。。。

NO7.想必你知道一些关于threadLocal的知识,我不问你怎么使用,也不问你使用场景。我想说的是线程池提供给用户的线程会存在数据混淆么?(这个可能有点高端,有些高级开发都不知道,呵呵)
NO8.知道序列化吧,什么情况下需要序列化?RPC服务中的参数为啥都需要序列化呢?参数中的日期类型到底用sql.Date还是util.Date?
NO9.请问各位大侠,这个诡异的代码能运行么?

                                   

NO10.做下小调查,大家平时工作用到的代码管理器有哪些?是CVS还是SVN亦或GIT或者VSS,能给出使用的理由么?作者目前用的是SVN,因为这个工具当前比较通用受众多因此在使用。
posted @ 2019-07-24 09:32  Amber-  阅读(340)  评论(0编辑  收藏  举报