阿里CTO线测试开发暑期实习一面面经(大约一个小时左右)

一面是电话面,是个小姐姐,很准时的打来了电话,让我做了个自我介绍就开始了。
因为我专业是大数据方向的,他们的业务也有,就问了我点大数据的知识,但是没有问很多。
1.mapreduce是用来干什么的?
2.数据分析,数据处理(一些专业相关知识)
3.线程安全如何保证,我说了可以使用同步互斥的方案,使用synchronized加锁,然后面试官给我了一个场景,比如淘宝搞促销,很多用户会对某一商品进行购买,要保证线程安全应该给哪加锁,我说应该给库存加锁,在加入购物车的时候加锁,或者购买的时候加锁,面试官说可以。
4.如何实现多线程:4种(继承Thread类,实现runnable接口,实现callable接口,线程池)
5.java种的static关键字,以及我项目种哪里使用到了这个关键字。
static可以修饰方法,变量,代码块。(这里回答的不够全面)
static修饰方法,被称为静态方法,不依赖于任何对象就可以直接进行访问,对静态方法来说是没有this的,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都必须依赖具体的对象才能够被调用。直接通过类名.方法进行调用。但是要注意的是,在非静态成员方法中是可以访问静态成员方法/变量的。
static修饰变量,被称为静态变量,静态变量和非静态变量的区别是:静态变量被所有对象共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。static成员变量的初始化顺序按照定义的顺序进行初始化。
static修饰代码块,在类初次被加载的时候,会按照static块的顺序来依次执行每个static块,并且只会执行一次。static块可以优化程序性能,是因为它的特性:只会在类被初次加载的时候执行一次。
6.对java种的map结构有什么了解?
map结构是key-value的结构,其中key和value都可以为null。然后说了hashmap,concurrenthashmap那些。
7. 对java中队列有什么了解?
这个我不太熟,就知道个Queue。这里总结一下:
Queue是java中队列的接口,它的实现类有LinkedList和PriorityQueue。最常用的实现类是LinkedList。Queue接口与List、Set同一级别,都是继承了Collection接口。我们平时使用的一些常见队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)
8.JVM有了解嘛?说了JVM的基本结构,面试官也没有深问
9.垃圾回收有了解嘛?说了如何判断垃圾,算法还没说呢,面试官问我什么情况下会出现内存泄漏,这里说的有点模糊,应该是长生命周期的对象持有短生命周期的引用,就有可能会出现内存泄漏。具体的例子可以看这篇文章https://blog.csdn.net/anxpp/article/details/51325838
10.接下来问了一些数据库的问题,给了我一个场景然后从编写数据表到查询,大概就是一个学校班级学生的成绩排名情况,设计一个班级表,成绩表,学生表,然后给查询班级中学生总分排名,查询某一科目的全校排名。
结合这一场景询问,如果数据查询很慢会有什么原因?
这里我不明确是偶尔查询很慢还是每次都很慢,问了面试官,面试官说是每次都查询很慢。
分析原因可以使用explain进行排查:①没有使用索引,进行的全表扫描,数据量比较大就会查询很慢②加了索引但是sql语句没有使用到索引
说到这里面试官问我该如何加索引,我说是应该给查询的条件字段加索引。
结合前面问到的static关键字,面试官问,如果不同的人要查询班级的排名数据,每次查询的数据都是固定的,但是查询速度比较慢,后端的业务逻辑可以是怎么样的。应该将第一次查询出的数据放入static定义的字段中,查询的时候进行判断,如果字段为空,就执行数据库查询,如果字段不为空那就直接返回数据就可以了,这里面试官给提醒了一下。
11.前面面试官还问了个算法题,口述思路
去除字符串中的重复字符,说了一个遍历,一个hashset
12.对测试开发的理解
13.问我比较感兴趣的方向,我说就是对测试开发和后台开发比较感兴趣
14.java中的构造函数,说了构造函数的作用,调用时机,还有重载

反问:
1.部门技术栈:java(阿里基本都是java)
2.实习去了能做什么,面试官详细给我介绍了一下他们的工作,人很nice
3.有什么好的学习方法或者途径。。理论+实践
4.实习面试会影响秋招嘛?面试官说每一次面试都会有记录的,可能多多少少会有的吧!
具体还得等通知呢!!不过感觉面试官不想听太多死记硬背的东西,她更看重随机应变和灵活应用。
#阿里2020春招阿里2021实习##阿里巴巴##测试开发工程师##实习##面经#
全部评论
请问哪个部门的
点赞 回复 分享
发布于 2021-05-25 20:41
请问测试开发的工作内容大概是什么呀
点赞 回复 分享
发布于 2021-05-26 00:39

相关推荐

小马云表哥:我秋招一般是说要出国留学了
点赞 评论 收藏
分享
牛客915519934号:差不多得了 ,真以为我们好忽悠呢?当初就是听了你们的话没有赶上风口入行Java,现在还想再忽悠我呢?这明显就是一个新风口,国家大力发展制造业,以后这个圈子的钱只会越来越多,不管是入门还是大佬,只要进来少说有你一口饭吃,一个个自私自利自己上了车就劝退其他人,钱都让你赚得了呗。就这点东西,入门很容易的,学个pcb,单片机就可以去找工作了,少说一万五起,以后只会越来越高,以后想进阶就去FPGA,linux,给的钱吊打互联网,再说说你们一直说数电模电难?实际呢也不过一个月就能拿下的事情,你不需要学的多深,只需要入门就足够了,就按我说的学出来少说两万起,最好报个培训班,入门更快,兄弟们跟着我冲就完事了,趁着这个机会,狠狠赚他一笔。
点赞 评论 收藏
分享
3 19 评论
分享
牛客网
牛客企业服务