Java工程师个人的面试经历,以及题目

个人面试经历

一开始是某公司的电话面试,首先自我介绍,这个有点急,感觉自己说的并不是太好。然后聊了聊平时兴趣什么的,当然要尽量往面试的职位上靠拢,才能更好的吸引面试官聊下去。
说说题吧,记得的就这些:
1.HashTable和HashMap的区别
这道题我相信网上的解答比我详细,就我体感而言,java基础基本会问的也就这几点,list、map、线程等。这里简单写一下自己的答案。
HashMap:是非线程安全,单线程下效率高
允许空(null)键值(key)
HashTable:Hashtable的方法是Synchronize的,在多个线程访问Hashtable时,不需要自己为它的方法实现同步
Hashtable不允许空值
对了,面试官还提到了关于扩容的问题,这个我不是太了解所以答得很难受,现在查了一下。大概就是向容器添加元素的时候,会判断当前容器的元素个数,如果大于等于阈值—即当前数组的长度乘以加载因子的值的时候,就要自动扩容。使用一个新的数组代替已有的容量小的数组。 hashmap的扩容都是扩2的幂次方,因为是与length-1相比,所以以11结尾的话效率最高,相对的,如果是10结尾的话那么11的数存不进来,增大了碰撞与空间的浪费。
这里再提一下ArrayList的扩容,当数组的大小大于初始容量的时候(比如初始为10,当添加第11个元素的时候),就会进行扩容,新的容量为旧的容量的1.5倍。扩容的时候,会以新的容量建一个原数组的拷贝,修改原数组,指向这个新数组,原数组被抛弃,会被GC回收。
2.session和cookie的区别
嗯,这个很常见,就不做过多分析。贴下百度的答案:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
3.@Controller注解
以前实现Controller方法的时候,需要自定义Controller类实现Controller接口,实现handleRequest方法返回ModelAndView。并且需要在Spring配置文件中配置Handle,将某个接口与自定义Controller类做映射。通过注解的方式,我们可以直接在类的上面进行标记,并且可以使接口的定义更加简单。
4.如何寻找无序数组中的第K大元素
一开始我能想到的也就是排序法,先将数组按大小顺序排序,那么第k个元素肯定就是第k大元素了,后来查阅了下资料,发现这种方法其实时间复杂度是O(nlogn),性能有些差,于是这里借鉴了一下比较好的方法。分治法每一次把数组分成较大和较小元素两部分。我们在寻找第K大元素的时候,以某个元素A为基准,把大于A的元素都交换到数组左边,小于A的元素交换到数组右边。时间复杂度O(n)。不过我认为还是需要了解下二叉堆,其中的小顶堆法。小顶堆的特点是每一个父节点都小于等于自己的两个子节点,维护一个容量为K的小顶堆,堆中的K个节点代表着当前最大的K个元素,而堆顶显然是这K个元素中的最小值。遍历原数组,每遍历一个元素,就和堆顶比较,如果当前元素小于等于堆顶,则继续遍历;如果元素大于堆顶,则把当前元素放在堆顶位置,并调整二叉堆(下沉操作)。遍历结束后,堆顶就是数组的最大K个元素中的最小值,也就是第K大元素。
5.Servlet都有哪些方法
init() 方法,初始化。
service() 方法,Servlet 的核心,每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。
doGet() 方法,当一个客户通过 HTML 表单发出一个 HTTP GET 请求或直接请求一个 URL 时,doGet() 方法被调用。与 GET 请求相关的参数添加到 URL 的后面,并与这个请求一起发送。
doPost() 方法,当一个客户通过 HTML 表单发出一个 HTTP POST 请求时,doPost() 方法被调用。与 POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。
destroy() 方法,销毁。
暂时遇到的就这么多,还有一些mysql的题,因为是直接做的多表查询题,所以具体数值记不清了,希望自己能时刻勉励自己。

发布了3 篇原创文章 · 获赞 1 · 访问量 3074

猜你喜欢

转载自blog.csdn.net/weixin_43910915/article/details/103606031