前言
目前还没有确定的offer,需要继续投递实习。
在双十一这一天面试了爱奇艺(北京)和追一科技(深圳),分享一下自己的经历。
正文——爱奇艺篇
投递渠道:BOSS直聘
投递岗位:研发工程师-实习生
看到BOSS直聘有爱奇艺的实习招聘,就打了招呼,面试官看我人在广州,就让我慎重考虑一下在北京的租房和生活成本。
后续我问了一个在爱奇艺实习的老哥,确定实习情况之后,觉得还是会考虑去北京的,就跟面试官说了一下,也就有了面试。
面试前沟通
11月8号下午4点08分,一个北京的电话打给我,说是爱奇艺的面试官。
简单的跟我沟通了一下实习情况、项目情况、学习了哪些框架、刷了多少题,之后就约我下周一(双十一)视频面试。
一面经验
面试时间:11月11号下午2点。
视频面试用的是面试官发给我的一个爱奇艺会议软件。面试前10分钟,打开软件等待面试官。
面试内容:
由于视频面试没有录音,只能凭印象回忆一下面试内容,可能会有遗漏。
- 简单做一下自我介绍
- 项目情况(这里问了很多内容,包括功能实现、框架使用、缓存设计、改善)
- Spring Boot的一些注解,启动类
- JVM的内存结构(一开始打算把所有的内存结构都讲一遍,然后面试官让我重点讲堆,我就从堆扯到了判断垃圾对象算法(引用和可达性分析)、垃圾回收算法(标记清除、复制和标记整理),讲完之后面试官就没问我JVM的问题了)
- 线程池都有哪些参数
- 选择排序思想以及时间复杂度(简历上写到了熟悉多种排序算法)
- 快速排序思想(吸取腾讯的面试经验,我还提到了快排在一些情况会变成N2的复杂度)
- 设计模式了解吗(我提到了单例)
- 手写单例模式(这里我用了四种方式写出来了,可以参考我这篇文章学习使用五种方式实现单例模式)
- 为什么要加volatile(在双重检测锁单例模式中,我加了volatile关键字,这里主要是禁止指令重排)
- 什么是指令重排(说完指令重排,我又提到volatile的另外两个特性,保证可见性和不保证原子性)
- 手写冒泡排序
- 为什么第二层循环要这么写
好像就问了这些,然后面试官让我等一会,待会可能有另外一个人进来会议室。
二面面试官进来前一秒,我这边的会议室突然关闭了,还以为面试结束了,马上重新输入了密码,发现二面面试官已经上线了。
二面经验
面试官先看了我的简历,没有自我介绍环节
面试内容:
- 项目也是问了很多(项目上的每一条工作描述都问了,这一块问的挺深的,包括数据表的设计、某个功能如何实现、如果给你多台服务器如何确保某个功能能够正常运行)
- 问了我的YY实习经历(面试官还打开了我之前在YY参与开发的小程序,问我做了哪一块东西)
- 设计API时如何防止无效用户访问(好像是这个问题)
- 问了我的博客一般都写哪些内容
- 快速排序的思想(好像问到了)
- HTTP与HTTPS(我从HTTP的缺陷开始讲起,最后讲HTTPS原理,期间面试官还问了域名解析)
- Cookie和Session(主要讲了两者区别,浏览器禁用Cookie之后可以使用URL重写的方式传递Session_ID)
- 最后就是反问环节(多久给结果,实习前需要学习哪些框架,我今天的表现如何)
小插曲:二面的时候,校园网断了,一直连不上去,然后面试官就打电话问我的情况
两轮面试总时长:1小时45分
总结
爱奇艺面试好像比较看重项目这一块东西,建议各位小伙伴投递爱奇艺的时候要熟悉自己的项目,提前准备可能会问的问题,比如功能设计、多少张表、如何改善。
相比较之下,一面问的Java知识比较多一些,二面或许有问到一些Java知识,但是真的忘记了。
深圳的追一科技也是当天面试的,我放在下一篇了=>可以点击这里查看,感兴趣的同学可以先关注一下我,避免迷路了~