酷家乐校招二面面经(赞人品,许愿三面)
面试官很温柔,面试体验非常好!!!对于算法探讨提供思路,引导你,非常感谢面试官!
二面分为两部分:Java基础和算法(4道,即使不会也会引导你去思考,感觉很好)
本来是预约的腾讯会议的,后来改为了电话面
Java基础
1、Thread类中的sleep()和Object中的wait()方法有什么区别?
2、对象克隆(深克隆和浅克隆),你会怎么去实现它?
3、线程间的通信方式有哪些?(一开始答成了进程,哈哈)
4、实现hashmap,你打算则怎么去实现get和put方法呢?
4.1追问:如果我们用一个对象作为key,存储value。如果我们改变了这个对象里面的属性,还能获取到hashmap里面的value吗?
5、Spring框架中的设计模式有哪些?举几个例子?
6、你做项目采用的接口方式是restful风格吗?回答的是。那你简单说一下get post put delet的区别?
7、web上面有哪些攻击方式?怎么去防御?答了:CSRF、XSS、DoS攻击(这个主要说了SYN攻击),说了一下区别以及防御方式。(答这个问题的时候,总感觉少答了个啥,结果面试官下一个问题就是问我忘记回答的,哈哈。)
8、你是怎么防止前端的SQL注入攻击的?回答了:用户输入参数校验、或者采用MyBatis的#{}。
算法相关
1、给你一个整型数组,其中有正数有负数,求连续子数组的最大和。
(一开始没有思路,只答了暴力的方式。然后面试管,给了特殊数据[2, -1, -2],[2, -2, 2],[2, -3, 2]受到了启发,说了一个大概的思路就下一个问题了)
2、判断小括号是否配对?
(一开始以为是经典的有大中小,是否配对,就很快回答了,结果只有发现只用匹配小括号,于是优化了下,但还是用栈。最后面试官问能不能,用栈空间复杂度为O(n),问能不能简化,于是回答了用一个整型,出现左括号加一,右括号减一,然后下一题)
3、烧绳子,只能从一边或者两边烧,一个绳子单向烧需要1个小时?问怎么计算1h15min,之前没遇到过,还好很快回答出来了。(思路一个绳子从两边开始烧,另外一个一边烧,第一个烧完,第二根则刚好一半,这个时候从两边烧,时间就是15min)
4、ABC三人,A到终点是B距离终点10m,B到终点是C距离终点10m,ABC三人同时出发的,问A到终点时,C距离终点多少米?(这个题设未知量求解就行,但当时不知道怎么搞的,想了很久,后来面试官,提醒的非常明显,回答出来了,答案19m)
一面和二面的面试官吗,给我的体验都非常好,许愿3面,希望能得到拿到offer。冲冲冲~~~~~~~~~~~~~~~~
#面经##校招##酷家乐##Java工程师#