回馈牛客网,迟到的一大波面经
CVTE(我拒了hr面)
9月9号,迎来了校招第一个面试通知的短信,CVTE。
说实话本科期间并不了解这家公司,准备校招期间在牛客网上了解到了这家神奇的公司(黑这家公司的往死里黑,吹这家公司的往天上吹,总之就是两个极端)。就校招体验而言,cvte给我的感觉其实是相当不错的,笔试期间,我在***发现打开不了笔试网站,当时向cvte公众号反应情况,竟然真的有人给我解决了问题,说是要去开启他们的cdn境外加速并给我重置了笔试机会,当时也特别惊讶这种公众号竟然会有人帮我解决问题= =
9月10号下午来到了正在下大暴雨的广州,cvte在一个我认为相当偏僻的地方,需要在黄村地铁口等他们来接的大巴再一起过去。面试的人数也相当多,每一批面试都是两辆大巴满载过去,还会有个员工在车里大喊名字点名,像极了当年小学坐学校大巴去春游的情况。
来到cvte第一产业区(说实话工作环境确实还不错),扫了二维码发现自己排安卓岗第二位面试,心情开始有点紧张。hr带着排位前3的上楼等待面试,紧张中等了不久以后,第一个面试终于来了。
一面,50分钟:
两个年轻的面试官一起问问题,一开始是自我介绍。接下来会通过自我介绍时提到的项目展开来问问题。大体问题如下(不分时间先后)
·锁重入怎么实现
·锁中断怎么实现
·Reentrantlock 原理
·main thread的looper在哪初始化
·Activitymainthread是什么,继承自thread吗
·死锁,很详细,wait,signal需要获得锁吗,为什么。自旋锁会死锁吗
·Listview错位大小不一图片 各种奇怪情况
·RecyclerView缓存体系 四层缓存
·Service onBind过程
·各种设计模式 享元 建造者 适配器
·java源码看了多少
·HashMap原理,万一hashcode和equals结果都相同会怎样
·handler TheadLocal
·线程唤醒
·MVP MVC MVVM
·手写代码,连续子序列最大和
一面除了锁的问题答得一般,大体答得还不错,写完代码之后就进入提问环节然后让我接着等。
二面,35分钟:
二面是一个中年人,很有气势,一个大佬的气质,问的问题也比较深
·KVM
·view绘制流程,onLayout位置不够怎么办
·binder IPC过程描述
·transact onTransact方法区别是什么,server怎么判断要执行哪个方法
·leak canary原理
·tcp编程
·策略模式和状态模式 的区别 双检单例 装饰者模式
·Alloctracking
·ams了解多少,看了多少源码
·glide源码
·uil源码
·MVP MVC
·手写代码,线程安全栈(用LinkedList作为基础数据结构实现后让我改成用数组,结果出现了内存泄漏,面试官引导后解决了)
·cpu优化
·内存优化
·以后想做什么
二面问了很广也很深,有一些不会的直接说了不清楚。面完后回去等了不久通知终面,也就是hr面,但由于终面时间与阿里一面时间冲突了,与hr协商推迟。后来推迟到了10月中旬终于来来电话,但当时手上已经有几个不错的offer了,就拒掉了面试。
总体来说,cvte作为校招第一次面试感觉非常好,面试的技术内容很充足,面试官也非常友好,不懂的地方会提示,引导甚至教我,让我对自己不足的地方也有了比较清晰的了解。
阿里巴巴(offer)
在面完cvte后一天,突然收到了阿里的面试邀请,当时很是惊讶,但想到阿里hc不多,就抱着试试的心态参加面试,最后居然收到了offer,真是意外。
一面,44分钟
阿里的面试是远程面,用阿里的会议系统,面试开始前会有显示板告诉前面还有多少人排队,贼可怕,内容如下
·项目
·kvm
·java gc
·java内存模型
·c++
·自己设计弱网络环境下的图片处理框架
·用过哪些开源库
·消息循环
·虚拟内存 物理内存
·多线程的处理经验
·webview native注入
·开发习惯
·cpu优化
·jni 过程
·研究生学了什么
·学术成就
·有没上线的app
·有没参加开源库开发
·会不会前端
·以后想干什么
二面,40分钟
一面部分重要的题答得不怎么好,但大部分题还是感觉不错,意外地拿到了终面机会,但二面整个面试除了写代码难一点没问很难的,气氛很诡异,自己也严重被这气氛影响到,回答的思路相当不清晰,然而更诡异的是居然让我去面hr了,hr在面试过程中还一直在打哈欠,阿里葫芦里卖的到底是什么药?
·项目(被怒鄙视一波),包括难点,怎么迭代项目
·listview错位
·listview和recyclerview的区别
·加载一个很长的图片列表,从头到尾阐述你会怎么实现(一度觉得太简单了不知所措以至于回答的很慌很烂,感情这面试官不是写安卓的???)
·写代码,给跳跃步数求最短路径(写了20分钟,崩溃)
在等了一个星期左右,阿里居然真的给我发意向书了。
YY欢聚时代(offer)
整个校招最感谢的就是YY了,yy一再迁就我的时间,发offer的速度也是最快的。面试官,特别是hr也是特别好人。yy的展厅也相当不错,到处可见大屏展示yy直播以及yy熊。
一面,35分钟:
面试内容主要把简历上的项目问个遍,包括
·高斯混合模型的原理
·背景差分及图像二值化
·listview 和 recyclerview的区别
·listview下滑卡顿的优化方案,答了滑动监听暂停加载,面试官不满意继续引导说一直下滑一直加载图片变卡怎么解决
·okHttp源码
·内存优化
·cpu优化
·kvm
·android mp4文件处理
大概只记得这么多了
国庆前完成的一面,国庆后参加二面和hr面。二面和hr面都是在聊天,也没什么特别的。
华为(offer)
华为的面试效率相当高,一天内完成两面就等待发offer了。但面试氛围也是我印象中最难受的。
一面,50分钟
一面非常令我最意外,华为的面试难度并不像大家说的那样很水,反而这是我体验过最难的面试。
·项目展示,项目亮点(说完以后一直怼“就这样?还能怎么优化?”),手画项目架构图
·android系统内存管理和ios内存管理的区别
·为什么安卓系统越用越卡(顺带怼了一顿我竟然不用安卓手机)
·从上面两个问题引出,华为手机可以怎样优化安卓的内存管理,华为手机能承诺18个月不卡,里面是怎么做到的(当然他并没有期待我回答出来)
·android进程栈
·内存泄漏的情况,很详细
·内存优化
·cpu优化
面试过程相当艰苦,但是面完马上让我出去等了,也算是直接通知通过了。
接下来的二面是一个很有华为领导范的人,问的内容不多,也就问了我本科期间做了什么,研究生期间做了什么,问了问kvm相关,嘲讽了我研究生的工作,并想当然笑嘻嘻地嘲讽我一定没什么朋友,做人一定做的不开心,十足是一个理工男之类的没问别的。后来问我有啥问题,我问了问关于华为搬迁东莞的事,他问我为何要了解这个,我说东莞消费水平低,想过去,结果他的神回复让我无言以对。“你又不需要钱,关心这个干嘛,这样吧,我给你深圳的消费者bg软件开发部的安卓开发岗。”
最后是腾讯,腾讯一共四面,都是问问项目,每一面都聊得超级开心,就像跟朋友聊天一样,前三面出乎意料地轻松通过,gm面之后一个星期状态没变,后来联系二面面试官,面试官告诉我gm选了其他人,没办法。就这样,体验了一把欢声笑语中打出gg的乐趣。