美文网首页面试
Android双一流非科班面试12家过9家,10年HR教我这10

Android双一流非科班面试12家过9家,10年HR教我这10

作者: 不正经的创作者 | 来源:发表于2020-10-27 13:49 被阅读0次

    前言

    先介绍一下大致情况,双一流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开发面试专题资料,高级进阶架构资料这几块的内容。

    相信它会给大家带来很多收获。

    如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!

    相关文章

      网友评论

        本文标题:Android双一流非科班面试12家过9家,10年HR教我这10

        本文链接:https://www.haomeiwen.com/subject/fgqxvktx.html