面试岗位
Java开发工程师(校招)
笔试
没有笔试,人在家中躺,面试天上来。来了个面试官打电话问有时间面试吗,我说有,然后立刻开始了电话面试。
一面
-
项目中后端
Django
,为什么后来修改为了Java
。 -
项目中为什么用了
K8S
,好处有什么? -
Java
的数据类型有哪些?
答:byte
,short
,int
,long
,float
,double
,char
,boolean
-
MySQL
中,有一个联合索引(A,B,C)
,如果查(A,C)
会走索引吗?
答:会走A
,但是不会走C
,因为B+
树是先按A
排序,再按B
排序,再按C
排序。 -
三个线程分别输出 1-10,11-20 和 21-30,如何实现?
答:这里我直接把我知道的方法都说了一通,主要参考以下两个题解:
《1117.H2O生成》以及《1116.打印0和奇偶数》 -
场景题,说要提供一个查询天气的服务,但是每次去查询是要收费的,问你大概会考虑哪些因素?
答:首先是查询操作一定是放在服务器的,用户行为只能查到缓存内容;
二是查询是懒汉式,即对于频繁查询,我们定时去查询,对于稀疏查询,我们可以等有人查询了再做查询;
三是得搞个IP
池,防止频繁搜索被ban
。延伸出来的可能还有爬虫爬取时的一些考虑了,比方说爬取速度,是否可以只爬取某些字段,需不需要登录,用不用集成验证码识别等 -
此时面试官问我有电脑在手头不,然后开始搞上机题。
7.1 给了以下代码问错误是什么:
public void search(List<Node> arr){
String myname = "MyName";
try{
for(int i = 0; i < arr.size();){
if(arr.get(i).name == myname){
arr.remove(i);
}
else{
i++;
}
}
} catch(Exception e){
System.out.println("exception");
} catch(ArrayIndexOutOfBoundsException ex){
System.out.println("OutOfBounds exception");
}
}
答:这里我看了半天那个 for
循环,但实际上不存在异常访问;代码的错误在下面的 catch
中,Exception
是基类,不可能走到 ArrayIndexOutOfBoundsException
中
7.2 大数据流中找第 k
大数。
答:优先队列
二面
-
项目大概说说。
-
项目的稳定性考虑过吗?
-
项目有做分布式处理吗?
-
项目总周期是什么?你是怎么分配工作时长的?
-
项目的技术栈如何选择的,遇到问题了怎么解决?
-
为什么引入了
Docker
,作用是啥? -
微服务了解过吗?
-
看你还做过
Android
项目,有遇到什么难点吗? -
了解过
Android
图像传输的问题吗,比如传输效率,如果图片特别大怎么办?
答:我当时前后端用的就是简单的以文件形式的通讯,如果现在让我想的话,我可能会把图片解析成三通道,这样全都是以数据流形式传输,到了服务器再做拼接。 -
说的不错,那你知道
http
其实用的就是这样的多通道形式传输吗?知道他的实现方法吗?
答:不知道 -
IOC
和AOP
解释一下
答:面向切面编程,把一些和核心功能无关的又必不可少重复性高的工作,做成函数,放到核心功能前后,相当于把原有的功能做了一个包装。
原先我们在某个类中需要另一个类的时候,需要手动new
一个新对象,而控制反转则是通过Bean
的byType
和byName
之类的方式,将类之间的依赖关系交给Spring
来完成,由他来创造新的对象,并赋予对象之间相互关系。 -
Bean
生命周期了解过吗?
答:首先用类的无参构造方法(或指定的有参构造方法)创建一个对象,但此时对象里面还没有内容,我们还需要根据Autowired
等标签做依赖注入,然后初始化前(PostConstruct
),初始化中(InitializingBean
),以及初始化后(AOP
),最后得到一个动态代理的Bean
对象。然后使用,最终销毁。
三面
-
学习成绩 / 奖学金 / 实习 / 奖项 / 竞赛
答:一无所有赵二狗 -
你如何学习新技术?
答:项目驱动,我的个人项目是 ①Django
后台 +HTML+CSS+JS
前端; ②Django
后台 +Android
前端人机交互; ③(Django) + Java + K8S + SpringBoot + VUE
。可以看到呈现一个不断复杂的过程,我认为学习就是在原有基础上增加新的模块和功能。 -
那你这个都是学校项目学习,太浅了。为什么不找个实习
答:……
HR面
三面没通过,但既然在写阿里面试经历,补一个暑期实习的面试经历好了。
当时是三面过了,到 HR
面。对方提前 15
分钟来电话:
-
一会有个会,可以提前开始吗?
答:可以,开始自我介绍 -
你觉得自己有什么优点?
答:乐观,相关接触面较广,恰好能贴合招聘要求 -
你觉得自己有什么不足?
答:没啥领导能力,不擅长分配工作 -
还有什么要说的吗?
答:?这就要结束了?
然后最终我暑期实习挂在了 HR
面,每当有人问起我暑期为什么不找个实习,我都只能回复 “找了,但可能找的有点晚了,没有 hc
了”。
感受
一开始挺好,觉得问的聊得都挺不错,但是技术三面不问技术这个确实给我伤到了,也是这场面试让我觉得还是得投一下实习,不能老闷头在实验室搬砖了。
网友评论