Android双一流非科班面试12家过9家,10年HR教我这10
前言
先介绍一下大致情况,双一流Android非科班本科出身,大学期间就自学Java、Android相关东西,也跟着老师做了一个项目,说大其实也不大,就简历上能写上的程度吧。春招没怎么准备被怼到怀疑人生,当时发誓秋招竭尽全力,但是直到两个月前才买了操作系统、JVM 这类的书开始系统学习有关内容,也刷了lc 200+题
我大概从八月初开始准备秋招,但是因为期末考试,九月初才投了第一份简历,自己也挺后悔投的挺晚的,有一些投了根本就没反应。前几天bigo hr面,让我终于看到了曙光,现在还有几家还在流程中,但是真的已经不想面下去了,太疲惫了。不管怎么样先写些面经攒攒人品吧,顺便许愿一下bigo
有些面试太久远了很多有些记不住了,就把想到的写一写~
QQ音乐
不自量力投的QQ音乐,然后直接被手Q客户端捞了
一面 电话面(秋招处女面,体验极佳!)
-
项目相关:
Bitmap图片处理,下采样、编码、超大图片保证原图加载且如何防止OOM? -
TCP、UDP
-
http、https SSL、CA
-
滑动窗口、拥塞控制
-
线程与进程
-
IPC进程间通信方式 Linux 5大方式 + Binder
-
Java多态怎么实现?多态内部原理?
-
Synchronized 和 Lock,区别?
-
sync方法和静态方法,锁住的内容
-
wait和sleep
-
HashMap 底层实现,1.7?1.8?
-
安卓 ANR原因?如何判断?
-
数据持久化&对比:SP、SQLite、File
二面 凉
这个是牛客上面的,太久远了很多记不清楚了,但是挂掉的点印象至今深刻。。。
-
死锁:预防(破坏四大条件)与避免(银行家算法)
-
手写死锁,第一次写这个直接懵了,就写成了线程饥饿,面试官印象拉到最低
-
项目上的比较有成就的地方,如何解决的?这个问题第一次被问到完全没准备,我都不知道自己说的什么
-
实际项目中做了哪些性能优化的工作
也没面多久,当晚就凉了,然后我就改了简历
字节
字节不会问你项目上的很多东西,相反他最看重的都是算法和你的逻辑能力、以及语言的了解深入程度
一二三面
-
项目相关:自设计图片加载库要考虑什么?异步线程池、多级缓存、采样与编码、生命周期管理
-
OkHttp请求流程
-
自动登录实现?cookie与token
-
SP的内部实现
-
SP多进程不安全要怎么解决?
-
内存管理、mmap内存映射
-
加密算法 MD5、SHA、DES、RSA、DSA
-
对称加密与非对称加密
-
动态代理与静态代理,区别
-
JVM内存模型
-
双亲委派机制,优点
-
自定义ClassLoader与系统类加载器加载出来的同个类文件是同一个类吗
-
Activity的页面栈与启动模式
-
Android的进程管理
-
算法: 最长公共字串:当时没刷过dp,直接暴力解的。。。
-
判断两个树的包含关系:双重dfs秒了
-
Linux 文件路径简化:一个简单的模拟问题,需要考虑的细节挺多的其实,一直被面试官引导着,害
视频架构
- 算法:链表两数相加,最高位在前,要求时间O(n),空间O(1)
-
LWP轻量级进程与线程,什么关系
-
ReentrantLock内部实现
-
各种锁与线程池
-
SP的缓存机制,内存同步和磁盘异步过程
阿里
电话突击面
-
View的绘制流程
-
MeasureSpec的AT_MOST和EXACTLY
-
wrap_content和match_parent在父子View的情况下对View大小的影响
-
View的事件分发
-
场景:滑动事件冲突处理 & 多个嵌入子View的onInterruptTouchEvent和onTouchEvent 返回true的各种场景(只涉及DOWN事件)
-
Handler原理,这个没深挖
-
泛型擦除,如何解决的
-
Retrofit是怎么处理接口的?动态代理、反射、注入
-
Retrofit泛型如何正确识别
-
Retrofit动态代理
-
无算法题
美团
一面
全是基础问题,上述的基本都涵盖了,面了一个半小时,问了面试官只有两轮技术面,很是开心,然后顺利通过
-
线程池使用?构造参数、内部实现
-
CAS、自旋,与传统锁性能差异
-
算法:两数组按顺序合并,就是归并排序的merge过程,要求原数组修改
二面
-
说说你学过什么课,计网、数据结构、c++
-
常用的数据结构
-
c++ 中全局static变量和局部static变量
-
编译过程
-
程序启动到运行的整个过程
-
gcc、makefile
-
Linux常用命令,说了几个但是感觉面试官很不满意
-
git 如何回滚
-
git revert是怎么做的,有什么问题
-
git merge和rebase区别
-
还知道哪些混合开发技术,大前端的东西,我说了知道Flutter
-
那Flutter中StatefulWidget和StatelessWidget的区别呢?
CVTE
一面 电话突击面
-
超多基础问题略
-
onPause的调用时机
-
安卓应用启动流程
-
AMS如何与Activity生命周期通信
-
线程池的清理过程
场景实现结合安卓特性分析 -
怎么判断大小端;
-
怎么在main函数之前和之后执行代码;
-
程序的内存布局;
-
程序从产生到运行的全过程;
-
智能指针;
-
在浏览器输入网址到得到结果的全过程;
-
算法:
4道数组题及其变形题,主要考逻辑
Activity之间的通信方法
层序输入二叉树,计算深度 -
SSL/TLS,以及位于哪一层
-
GET和POST区别,登录用哪个
bigo
三轮面试都体验极佳!面试官都全程笑嘻嘻的,遇到不是很明白的也在耐心的引导你,感觉对自家产品认同度还很高的
一面
-
LinkedList与ArrayList
-
HashMap
-
各种锁:sync/lock、可重入锁、自旋锁&CAS
-
锁升级过程:重量级锁、轻量级锁、偏向锁
-
concurrent包:屏障、计数器、信号量、阻塞队列
-
View 事件分发
-
View 绘制过程
-
如何自定义View
-
算法: 写一个归并排序,拿递归写的,写了10多分钟
二面
全程做题,一共三道
- 两两交换链表的节点,lc原题,面试前两周做过,我的思路是翻转连接(类似于k个一组节点翻转交换的特殊情况)但是自己写好后有些bug,在面试官引导后越来越乱,40分钟后不了了之。。。
智力题
-
汉诺塔1:3个柱子ABC,从A到C需要多少步,f(n)=2f(n-1) + 1
-
汉诺塔2:同样3个柱子,但是每次只能移动到相邻柱子,A到C多少步,f(n)=3f(n-1)+2
我面完以为已经凉透了,没想到第二天hr就打电话约三面时间了,我想可能是智力题答的好?还真挺有缘的
三面
-
简单介绍下项目
-
本科学过哪些课(一听到这个问题我马上就怂了,不敢乱说,美团的教训太惨烈了)
-
计网大杂烩(还好我学过这门课,都能说个大概)
-
UDP请求整个流程,从运输层说到物理层
-
MAC地址有什么作用(有点记不住了,链路层、物理地址相关、标识网卡
-
网络层IP协议,路由表如何得到(网关协议RIP、BGP、OSPF)
-
UDP与TCP区别
-
如果丢包,UDP快还是TCP快,为什么?UDP 我结合滑动窗口具体过程和三握四挥说的
-
最后写了个生产者消费者模型,好久没写过了其实
一开始甚至没考虑死循环、也没考虑到多个生产者消费者的情况,后来在面试官不断引导下改好了的,主要两大点:notifyAll和while内挂起,因为vscode出了点问题,wait的异常处理也没有写。。。
- 反问:
我问了下内部的技术氛围,面试官说的很认真,也说了在这里能学到很多,给我感觉很棒
同时我也问了下学习建议,面试官说的很诚恳,叫我现在多看看操作系统这些基础书籍,虽然实际工作用不到,但是一旦要想突破,操作系统的很多思想都是可以借鉴的;同时他还说leetcode刷一刷培养一下思维其实就足够了这些
面完一小时就收到hr电话了,约的晚上面试!
hr面
-
三轮面试体验
-
期望工作城市
-
期望薪资(懵了,之前没怎么了解过,说了个数hr都觉得太低无语了)
-
还有哪些offer哪些在流程中
-
觉得bigo吸引你的地方
-
反问:问了下福利和bigo未来的发展策略
感觉hr对自家公司认同感很高,最后和我说了十分钟公司的发展、福利相关的,后面还微信发给我公司的整体介绍,感觉我整个人都已经是bigo的形状了
简历美化
在这之前,我在简历上吃过亏,所以特意找做了10年面试官的亲戚取经,做了些功课,所以接下来给大家分享一下我的经验。
想美化简历的人太多,一旦掌握不好分寸,就是造假。在我们的一个交流群里原来是平均一天大概1个人来问“如何应对背景调查”,现在一天5个。我都觉得数字吓人,但这是实情。
“爱美之心,人皆有之”,简历就是求职者的脸面,总想好看点。本文就是来告诉你化妆的程度,你别整容过度。
简历合并原则分别如下。
1
最近的1份工作
一定保持真实
这条不能保证,求职基本会翻车。什么意思呢?
因为第三方背景调查的重头戏就是,调查最近一份工作经历及其表现,这是100%调查项。
即使在小城市的小公司,没有第三方背调的情况下,新公司的人事也会打电话去你最近一份工作的雇主,去了解下你的情况,最简单的就是先问下有没有你这样一个人。
你一般要提供三个联系人(你的直属领导、你们公司人事经理、你的平级同事)作为工作证明人,即使你事先“串通”好了,但造假的简历一问就穿帮。
尽管这三个证明人是你提供的联系方式,但背调公司和HR有权利自己去寻找你的证明人。
2
最近24个月的工作经历
最好保持真实
这个大家也知道,根据ISO9001的原则,公司需要至少保留前员工2年之内的档案和记录,一般第3年可以销毁或者不做保存。但越好的公司,越会高于ISO流程的要求去执行,很多知名好公司一般会保留5年的记录。
这句话通俗来讲,就是对于已经离职超过2年的员工,你再去这家公司查该员工当初的就业档案和记录,很可能查不到了。但也不确定,3-5年也许还能查得到。
所以,最好的情况自然是5年内工作经历保持真实,实在不行你确保2年的吧,毕竟社保记录也是最少24个月的账单。
3
职位级别可以美化
管理人数不能虚夸
我们投简历,简历里面的职位名称一般要通用一点,也就是大家一看就知道你做的是什么工作。比如CE你写成SQE,应用工程师你写成项目工程师,RFQ Specialist你写成采购员,CC你写成销售专员或者客户代表......这个可以理解。
所以,一般对于职位名称可能有所变动,改成常见的采购员、项目经理、业务经理、质量总监等。
包括你的名片上职位抬头,一般会比较高,这才好对外。你写名片上的职位名,不算简历造假。
但是,如果你没有下属,虚拟或者虚夸自己有好几个下属,这就造假了。背景调查对于作为主管的人,会继续增加一个手下员工的调查项,也并不仅仅是你找2个朋友装作是你的下属那么简单。
4
2年之前的经历如果要合并
优先合并到靠近现在的那家
比如你毕业后至今工作了8年,总计5家公司,按照时间顺序是ABCDE公司,则E要保持真实,D最好真实,B可以合并到C公司去。如果你实在想继续合并,则AB都合并到C公司。
如果A时间不到半年,则这个A你就说是毕业前就进去实习的公司,后来毕业后还待了几个月,但毕竟是“实习”经历,所以没必要写进简历。
再看下面这位,因为来自今日头条的读者,所以我也回答了下。但这问题就不上档次了,他准备学历造假。
5
尽量别听职业规划公司的
简历合并建议
我们要记着这俩公式:简历优化≠简历造假;简历优化≠简历美工。
也会有一种帮你简历造假的公司,一般就是HR和猎头搞的职业培训和职业规划公司,他们会帮你造假,号称“简历优化”。
他们一不懂背调的核心攸关点,不需要对你接下来是否能通过背景调查负责,二,他们错将CV当成了JD,让你轻易合并简历,并教你将简历改成对方的职位描述,你去面试时,一问就被拆穿了。
简历优化,则比简历美工有用,且能通过背景调查,这才是一份好简历。
6
主要是大城市和大公司
做背景调查
在大城市,月薪一万五以下,一般不做第三方背景调查,但是人事的调查还是会有的,不代表你月薪七八千就可以随意造假。
以上这个月薪一万五是针对一线城市的,也是我大量统计出来的结论,其他任何地方你找不到这个建议和经验。也就是放到二线,可能就得降到月薪一万也要做背调。
你这才刚毕业不久,在北上广深杭苏月薪都没过万,可以不担心第三方背景调查。
这里的大城市,主要就是国内4个一线城市和30来个省会城市以及厦门、宁波、青岛等计划单列市,加起来40个城市不到。
其余接近2000个小城市,基本没有第三方背景调查。
但也不是完全一刀切,外企五百强、知名国内上市公司、大型银行、BAT等顶级互联网公司、大型央企国企,这几类工作单位,只要是办公室人员,哪怕一般文员月薪5千的,也可能会做第三方背景调查,他们是全公司统一的入职流程。
体制内要做政审,理论上会比第三方背调还要严格。
7
背调不是“零容忍”
第三方背调的调查类目大致如下表,也不是一刀切、零容忍,大家尽量别到需要解释的时候;届时的方法,也是“将错就错”好过“坦白从宽”。
将错就错的意思是,你要据理力争,别主动交差,要么你就别造假。
8
“领导说我坏话”一般不会
成为背调不通过的理由
对于上家的工作证明人效用,优先顺序是:上家领导>上家HR>上家平级同事。
即使如此,也不是你上家公司的领导说了你的坏话,你就不能入职。碰到领导说坏话时,你先不要多解释,如果HR拿着背调报告质问你“为何跟领导关系差”“为何领导对你评价不好”,你要装傻,就说“不应该!”“不知道啊,我感觉还蛮好的!”
当然,有领导跟你有仇,或者恶意中伤你,则你也可以说“这个人人品恶劣,是我们刚空降转过来的一个领导,刚爬上去,所以安插自己的人,就排挤老员工。他看不上我,我还看不上他呢!”
这样,在HR那里就将“领导的恶评”变成了“领导是恶人”,坏人说坏话,这是正常的逻辑,跟你无关。HR只要是人,一般都会感同身受。
HR不认可你的说辞,则提供更多的证据,来证明你的观点,书面的证据,加强你的说服力,攻克她。
HR不能被你说服,你就继续找HR的领导。人事经理、总监不能信服你,你继续找复试时候的部门领导,诉苦,博得同情,但也别说简历有意造假。
9
短期的工作经历、创业经历
可以不写在简历中
短期1-3个月的经历,最长别超过5个月,可以不写在简历中。
创业经历,尤其短期的,也不要写在简历中。创业不是打工,简历是打工的简历,跟某个单位签订了劳动合同的从业经历。
无法解释时,就说“为了社保不断缴,我请家人帮我找了个社保代缴公司缴纳社保,至于缴了几个月,大概2-3个月吧,我自己都不知道具体月份,钱也是家人帮我付的”。记住,要装,装呆,装傻,做好一个演员。
10
海外工作经历对待法
海外的实习和工作经历,一般不会被调查,除非你碰到的这家调查公司正好是个外资背调公司,比如FAD。
这个原则就简单了,外国调查公司会调查你的外国经历;国内背调公司,则不调查。
以上十个基本原则,是关于简历合并这个命题在2020年下半年时的主要原则,以后还会变动,毕竟行情就是动态的。
写在最后的话,你看下这十来个原则,搞了半天,这跟泡妞的最高境界是泡自己的老婆一样,应对简历造假和背景调查最好的方法,实际上就是你的简历不造假。
最后
我非常喜欢乔布斯的一句话:
“求知若饥,虚心若愚”(Stay Hungry,Stay Foolish)。
其实我更喜欢它更原生态的翻译“保持饥饿,保持愚蠢”。我们只有认识到自己还很饥饿和愚蠢,才会像没吃饱一样,由衷地需要学习、爱上学习。
最后给大家分享一份大牛收录整理的 Android学习PDF+架构视频+源码笔记!,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。
相信它会给大家带来很多收获。
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!