朋友要招几个java,让帮忙出点面试题目

上周朋友说要招几个高级点的java,网上那些java面试宝典已经被人背得熟透了,让帮忙出出几个面试的问题,主要看看对所使用得语言有较深入得了解,不停留在使用什么开源框架,和对自己一些项目得见解。当然还要装装B,最后问一些别人不懂得问题,好压压价钱。。。罪过,公司是他自己的
随便整理了一下,以后面试也可以用到,主要针对平时日常得应用,只要有稍微阅读过jdk源码,对数据结构有一点点了解回答应该没什么问题。
随便写了几个

1.     当需要往一个hashMap里面put很多对象,你会怎么去new 这个hashmap?

注:主要审查是否懂得hash的数据结构,是否会用

HashMap(int initialCapacity, float loadFactor)

这个构造函数去创建一个大容积的Hash结构,懂得原理即可。如果回答正确,可深入问hashmap的扩容。

 

2.     实现一个先进先出的队列,分别有arraylistlinkedlist,选择哪个,为什么?

注:主要审查是否懂得线性表和链表。

 

3. 当我们new arrayList(20)一个这样的对象后,不断往里面添加add(object),加到第21个后,内存会有什么调整。

注:主要审查是否懂得可变array的本质,当内存进行扩容的本质是

Arrays.copyOf(elementData, newCapacity)

      

4.     一个类有几百个实现方法,突然有个需求:要纪录每个方法被调用的参数,时间为日志,这个怎么去实现?

注:主要审查是否使用aop等面向切面编程。如果回答正确,继续追问,只对方法名开头为’insert’’update’等方法进行日志纪录,该怎么配对。注:主要审查对正则表达式的掌握。

 

     5.在vi的编辑下,对光标所在行进行整行删除命令是什么,将光标移到当前行   第一列的命令是什么

         注:主要审查在linux下最基础的vi编辑命令,不懂vi是否可认为无在linux真实工作?

 

6.     机器出现OutOfMemoryError PermGen space 的内存溢出错误,解决思路是什么

注:主要审查是否明白方法区或叫永久区的定义,该区是否内存回收,什么实例会存放在该区,不求具体实现方案,主要有大概思路即可。

 

7.     你的系统将在明天出现读的高并发,该怎么准备

注:方法多种,主要检查思路,漫谈来观察。

 

8.     一台linux服务器每天定时生成一批文件,需要将这批文件同步到其他多台服务器,该怎么实现。

注:方法多种,如rsyncnfsscp等等,主要检查linux下文件处理的能力,主要检查思路。

 

9.     为什么说尽量减小synchronized 方法

注:主要审核对同步实现方法的认识,如果能回答出“锁”的概念,继续追问,如果对实例方法加synchronized 锁的对象是什么,对静态方法加synchronized ,锁的对象是什么

  

10.说说单例的使用场景是什么,如spring场景中就有许多单例模式

       注:答案很多,可以漫谈来观察,能回答出,让多个线程相互通信达到资源共享即可

 

11. 随便在jdkspring的英文api中找一段让其翻译

注:能大概说出接口的用处即可

原文地址:https://www.cnblogs.com/daichangya/p/12959465.html