一、前言
刚刚面完网易互娱服务端开发(实习)一面,面完就想抽自己,怎么能这么菜。唉,先不多说,直接进入正题。
二、正文
1、面试官提问
1、自我介绍
答:唉,太菜了,没什么额外介绍的,直接背简历了(;´༎ຶД༎ຶ`)。
2、介绍一下Java中的引用类型?
答:强引用,软引用,弱引用,虚引用。然后简单介绍了一下他们的作用以及JDK提供什么类使用这些引用(虚引用的类名记不清了,直接说了P打头的一个类......)。
3、为什么需要这些引用?
答:我直接拿ThreadLocal中的ThreadLocalMap,它的key是弱引用举例,讲了一下为什么需要这些特殊的引用。总结下来就是防止已经不需要的引用影响垃圾回收。
4、介绍一下垃圾回收算法?
答:引用计数、可达性分析、标记-清除、复制算法、标记整理。
5、如何判断链表有环?
答:快慢指针。
6、还是上面这题,有没有可能出现快指针跳过慢指针,导致判断错误?
唉,这里后面想想真是想抽自己。这个问题之前考虑过,这里一下没反应过来,就说这个我之前想过,我思考一下(我居然傻了吧唧地说之前想过,这不就让面试官觉得我在背答案吗(T_T))。想了一下之后,就直接通过具体情况分析了一下,比如快指针在慢指针之前会怎么样,快指针和慢指针相邻会怎么样......总之就是最后一定会相遇;
7、两棵二叉树,一大一小,如何快速判断小二叉树是大二叉树的子树?
唉,这题答得真的太烂了,后面都想抽自己。这题在剑指offer上写过,当时主要是用的递归判断,然后说了一下递归,但是叙述的太烂了。然后之前写这题的时候,我还想过一个思路,就是记录两棵二叉树的先序遍历和中序遍历,如果小二叉树的先序遍历和中序遍历,都包含在大二叉树的先序遍历和中序遍历中,那就认为是子树(前提是树种的节点值唯一)。然后面试官好像觉得这种算法不行,问我为什么可以,我说我没有论证过,然后想了想说可能会存在问题,然后面试官又问什么情况下会有问题........实际上我觉得是可以的,暂时想不出反例,于是结结巴巴,最后含糊地说应该可以,然后就断网了,断网了,断网了........赶紧开热点重连。
2、我提问
重连之后,面试官说已经超过了预定时间,问我有什么想问的,限一个问题:如果要尽快参与到实习,需要重点学习哪些内容?
答:工作中需要用到很多开发工具,如果提前掌握会比较有优势。
总结
面试大概半小时,问的问题还是相当基础,但是自我感觉真的是太烂了,首先就是自己的表述能力太差,感觉自己的回答总是不够清晰明了,抓不到重点。然后就是,一到自己回答不出来的问题,就结结巴巴,在压力情况下容易受到影响,不能坚持自己的观点,并且表述不清楚。而且临场反应太差,需要临时发挥就脑袋空白。最后就是不够果断,如果不是特别清楚的问题,回答总是很犹豫,而且还经常出现好像,应该等词汇。
唉,后面如果还有面试,希望能够将上面的问题改正。最后,许愿一面通过。