之前投递的是软件开发-java方向,上周五下午突然接到电话,说是南京客户端的,问我有没有兴趣,经历过上次美团的提前批客户端的洗礼,习惯性的问了一句,没有客户端经验可以吗,面试官说可以,就问一些java相关的知识。于是就约了8.9号早晨的面试。
1.自我介绍
2.项目问了一下
3.String底层是什么,和char的区别?String存在哪
【建议大家细看一下这块,有时候面试官问的比较细】
4.String、StringBuilder和StringBuffer的区别
5.==和equels的区别
6.抽象和接口的区别
一道业务场景题
小米商城、电子产品、手机、电视和顾客,手写类,以及类之间的关系,变量和方法等(5-10min写出来)
这题主要考察的是对面向对象的理解,平时我们可能对这块的实践比较少,大家可以尝试写一写,有想法的可以评论区留言一起交流一下。
7.java类的实例化顺序
8.java集合都有哪些?都有什么区别
9.arraylist能不能插入null,arraylist的特点
注意:null属于object类,所以arraylist中是可以插入null的,当时回答的不能,害,还是基础不扎实。
10.hashmap的put方法
注意:有的时候面试官会让说1.7和1.8的区别,也可以顺便看看1.7和1.8的hashmap的区别
11.线程池和相关参数,常见的线程池类
12.多线程下面的通信如何实现变量共享
这个问题确实自己涉猎的不多,当时就说了volatile,但是感觉不是面试官想问的点,最后面试官就说你们可能在校平时对这块的了解也不多,然后就没继续问了。
13.jvm的运行时区
14.垃圾回收算法和垃圾回收过程
15.有没有看过垃圾回收的底层代码
有时间的同学可以看看这几个算法的底层代码,比如挑其中一个看看源码,网上找点资料,这是一个加分项!
反问:有什么需要提升的吗?
面试官:建议一些点可以细看一下,或者有些深入的理解。
上面的业务场景题没写出来,就感觉无了,今天收到感谢信,害,已经进入池子了。牛友们加油!
全部评论
(5) 回帖