来自非985获211的普通本科的Android面试题分享

个人的基本情况

本人出生在一个普通家庭,自身学历很一般,并非985也并非211,就是一个差不多是三本的二本普通本科生应届毕业生。在读书期间有过一些简单的实习,也参与过一些小公司的项目,但我还是觉得自己在其它人的眼里还是很普通(所以,自己能够在今年特别不好找工作的期间被一家大厂公司给入取感到特别幸运!!!)。

思前想后,本来不想说的(被很多大厂给谢拒了),但我还是决定分享一下我的面试前面准备的过程。

在面试前,我刷了很多面经、面试题,这里也把自己的面经分享给大家,当做回报社区好了,顺便攒攒人品,希望往后可以一切顺利。

面试是通过远程视频会议的形式进行的一对多的线上面试。

首先是面试的基本流程

  • 自我介绍(我就不怎么说了就是向面试官介绍自己(了解自己投的简历信息))
  • 随后面试官根据简历问我一些基本问题
  • 后面就是根据你的简历还有前面说的内容啊来问一些针对性的问题
  • 问我有没有问题
    (差不多每一面都是这样的吧……)

    PS:会问很多基本知识,像是计算机网络、操作系统、编译原理这些底层什么的,大厂好像都挺喜欢深挖,建议大家多复习一下,钻一下底层。

一面面经

不知道是不是Android部门的人比较忙还是由于他们部门人手不足,面我的面试官是一个从事 iOS 开发的,没问我太多 Android 专业相关的东西,几乎都是根据我的简历来问我的一些相关的问题。

1、ipv6 答不上来
2、http 状态码
3、http 请求
4、https 请求过程、网络安全
5、传送大图到服务器,进度功能实现
(这里扯了很多,一开始我理解成断点续传了,后面就是给的方案是 http 每次传一部分,根据状态码是否成功来处理,后面面试官觉得这个答案不行,让我从 TCP UDP Socket 这些角度去想,我说这些实现起来就更简单了,比如TCP就双向通信之类的。。)
6、gc
7、数据库索引,b tree b+ tree
8、设计模式
9、进程间通信,我说了几个,面试官说可以说 Android 的,好得!
10、rxjava,我说我之前封装过一个 rxbus,来实现消息总线,后面我是说了下消息总线对代码的影响还是比较大的,我到后面是尽量避免这样的操作。
11、算法: 字符串匹配,返回对应 index, 我用的 HashMap 实现。

总体感觉就是,面试官大多数都是问的网络,但网络不是我擅长的领域,有些别的想不起来了……

另外一个特点就是——深挖底层。不止是题目,面试官会深入一些小地方一直往下问(感觉他一直在让我感觉焦虑,我说一个,他就顺着往下又挖,一直挖到我完全回答不上来为止)……

二面面经

这一面对我来说就些尴尬了……面试官有三个,个人感觉都不错,三个都是大佬,就是貌似他们那边的网络状态不是很好,还是我这边网络不好总是一卡一卡的。

  • 自我介绍
  • 询问了简历上的工作经历和在此过程中发生的问题是如何解决的。

1、Http1.1 和 Http 1.0 区别
2、keepalive 作用
3、keepalive 底层实现,这块我是不清楚的,我就猜测了下给了他一个答案。
4、操作系统怎么在堆上和栈上分配内存,我不太清楚,就说了 Java 虚拟机是咋分配的,结果问了我 Java 虚拟机是咋在操作系统上分配的,对不起我不知道!(后面强调了 c 的 api,我还是母鸡啊!)
5、操作系统进程和线程
6、虚拟内存
7、虚拟内存的缓存,我不清楚,依旧给了个猜测
8、手写单例,写了双重检索的,后面问我有别的吗,我说了静态内部类实现的,问我为啥静态内部类安全。
9、Android Framework,我问是 AMS 那些的吗,面试官说那太复杂了,你说下 handler , loop吧,然后问了一些相关的问题。(感动啊)
10、广播和本地广播的区别,实现原理
11、二面问我,一面评价说你觉得 rxjava 并不好,我赶紧说不是不行,rxbus 只是 rxjava 功能的一小部分,而是消息总线这样的方案有利有弊。后面说rxbus 具体封装 ,太久远了想不起来了,然后说了 rxjava 其他的用法和优点这一类的。
12、你用 map 写个 lru 吧,我说能用 LinkedHashMap 吗,不能, 后面我说了个思路,面试官觉得不行,然后说了 LruCache 怎么实现的, LinkedHashMap 怎么实现的,我说 LinkedHashMap 是用了 HashMap,在里面维护了一个双向链表,每次访问数据的时候修改链表。后面我就打算仿写一个 LinkedHashMap 来实现,多亏面试官即使打断,这个太费时间了,就不用写了。
13、手写生产者消费者,这里面试官一边看代码一边提问题,我跟着问题修改代码,其实就是把一个比较low 的生产者消费者优化成了面试官想要的样子(面试官在这里终于笑了)。
14、锁, synchronized 和 ReenTrantLock
15、抢占式锁和非抢占式锁,ReenTrantLock 怎么实现非抢占式
16、notify 和 sleep 区别
17、onTouch 和 onClick (这个我隐约中好像被问过
……剩下的记不清了

  • 问问题环节
    Q:我想了解下相关的业务
    A:这个职位是最后统一定的,我不能告诉你
    Q: 问评价
    A: 还是不能告诉你。

同样大致问题是这些,其他的也想不起来了,这块网络操作系统混合双打(还好没有再次一直挖网络)。

三面面经

直接上面试题吧:

  • 自我介绍
  • 技术问题开始

1、因为自我介绍时介绍了自己实习写的刷新加载的组件
2、 问我自己组件里怎么解决的嵌套滑动冲突,三个方面实现完美分发事件
3、 说 retrofit 动态这块
4、 retrofit 动态
里面如果传的不是 interface 怎么办,这块我不清楚,我就直接说不太清楚,然后说了 retrofit 关于注解的处理
5、 注解生命周期,编译时注解解析
6、 你用过 weex,说下weex实现原理,我说我没有看过 weex 源码,但是我实现过一个动态页面渲染框架,说了下我的渲染过程和实现方案。
7、 最近想学的技术,说了音视频,但是因为准备春招放下了
8、 为什么想学,说了自己之前做一个 APP,里面播放器无法使用没认证的 Https 请求,打算自定义一个播放器,在底层处理证书这块,然后在说了下不知道这样的方案可不可行。
9、 使用 https 请求这个不难的, 我说因为我这个是自己签的,就没法认证。
10、 那你 okhttp 里面怎么认证的, 说了拦截器
11、 还有个 ConcurrentHashMap 同步方案, 然后问了 CAS
12、 环状链表
13、 TCP握手挥手

  • 反问环节
    问了下今年的怎么招聘的,凉面太多看的我很慌张。

介于面试的时候比较紧张一二三面问题可能有个别搞混了,顺序也有些打乱,有些问题可能记不清了。当然,大家面试的时候也不会遇到完全一样的问题,这些只能当做准备面试前查漏补缺的一个参考吧。

最后,第三面的面试官依然棒,虽然问题节奏很快,但是不管是态度还是提问都很有技巧也很棒。

一星期后收到了offer,终于赶在毕业前上岸了。

经验总结

其实我觉得自己属于很普通的类型,并没有很突出的地方,能够进字节有三分运气,还有七分还是靠自己的努力。

大家也不必妄自菲薄,首先要有自信,如果有想要去的大公司,一定要好好做准备,努力提升自己,让自己的能力和素质匹配得上目标公司。

我也一直相信天道酬勤,机会永远是留给有准备的人。在字节面试前我也准备了很久,刷了很多大厂面试题。

下面,我把自己面试前准备的知识点整理出来分享给大家:

Java基础

  • 静态内部类和非静态内部类的比较
  • 多态的理解与应用
  • java方法的多态性理解
  • java中接口和继承的区别
  • 线程池的好处,详解,单例(绝对好记)
  • 线程池的优点及其原理
  • 线程池的优点(重点)
  • 为什么不推荐通过Executors直接创建线程池
  • 不怕难之BlockingQueue及其实现
  • 深入理解ReentrantLock与Condition
  • Java多线程:线程间通信之Lock
  • Synchronized 关键字原理
  • ReentrantLock原理
  • HashMap中的Hash冲突解决和扩容机制
  • JVM常见面试题
  • JVM内存结构
  • 类加载机制/双亲委托

Android基础

  • Activity知识点(必问)
  • Fragment知识点
  • Service知识点
  • Intent知识点

UI控件篇

  • 屏幕适配
  • 主要控件优化
  • 事件分发与嵌套滚动
  • 动态化页面构建方案

网络通信篇

  • 网络协议

架构设计篇

  • MVP架构设计
  • 组件化架构

性能优化篇

  • 启动优化
  • 内存优化
  • 绘制优化
  • 安装包优化

源码流程篇

  • 开源库源码分析
  • Glide源码分析
  • Android面试题:Glide
  • day 20 面试题:Glide面试题
  • 聊一聊关于Glide在面试中的那些事
  • 面试官:简历上如果写Glide,请注意以下几点…
  • OkHttp源码分析
  • okhttp连接池复用机制
  • okhttp 流程和优化的实现
  • 一篇让你受用的okhttp分析
  • OkHttp面试之–OkHttp的整个异步请求流程
  • OkHttp面试之–HttpEngine中的sendRequest方法详解
  • OkHttp解析大总结
  • Okhttp任务队列工作原理
  • Android高频面试专题 - 架构篇(二)okhttp面试必知必会
  • Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成
  • Retrofit源码分析
  • RxJava源码分析

新技术篇

  • 实战问题篇

面试篇

  • 开源文档
  • 面试文献

篇幅有限,详细内容就不作完全展示了,若需要此面试题合集,点击免费领取【保证100%免费】

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

该准备准备,该刷题刷题,临时抱佛脚至少体现了你对面试重视是不是?等你题目刷到一定程度,你就会发现自己的能力有了一个量变到质变的提升。

#Android##android##面试##Android面试#
全部评论
面试自我介绍中不用自己的家庭情况吧
点赞 回复 分享
发布于 2022-07-13 21:51

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
04-11 00:51
已编辑
门头沟学院 Java
先说一下楼主的情况:双非本大三,两段实习,javaer,想要找一个暑期大厂offer,努力了两个月,三月份每天的状态就是算法,八股,项目,四月份更是一个面试没有,最终还是没有结果,心碎了一地。期间面了一些中小厂,大厂只有腾讯约面,其他大厂都投了一遍,但是还是石沉大海。再看一下楼主的面试结果吧,就不说ttl了腾讯s3:三面挂csig:一面挂teg:三面挂wxg:一面挂没错,面了八次腾讯,两次三面挂,当时真的心都碎了。其他中小厂都有面,有的没过,有的oc,但是都没有去。其他大厂投了简历,但是不是简历挂,就是测评挂,都说今年行情好很多,各大厂都扩招,可是问题出在那里呢?学历背景吗?实习经历吗?还是简历不够好看?依稀记得,从年初七就离开了家里,回到学校,早早准备面试,当时自己认为凭借着自己的两段实习经历,以及大二就开始准备的八股算法,拿大厂offer不是问题,但是还是不敢放松,回校的状态每天就是算法,八股,还有查看各种招聘信息,想着尽早投机会多,但是事实证明,投的早,不如投的刚刚好。当时想着,先投一些中小厂开始面试,找找面试感觉,从2.10就开始有面试了,基本都是线下面试,面试的感觉都很不错,觉得自己的状态慢慢回来了,期间也有oc一些中小厂,但是自己的目标并不在此,只是想练一下手,遂拒。后面投了腾讯的暑期实习基地,不久就约面了,第一次面这么大的厂,多少有点紧张,好在运气还不错,遇到的面试官也比较好,一直干到了三面,期间看牛客有不少说一面就挂了的,感觉自己还是比较幸运的,但是没想到倒在了三面,一周后就挂了,伤心是有的,但是想到这才刚刚开始,还有很多机会,便继续准备下一次面试了,很快,被另外一个部门捞了,一进会议,面试官没开摄像头,看网上说没开摄像头很多都是kpi,但是自己给自己打气,认为面试官只是不方便开摄像头罢了,面完,感觉良好,没问什么很难得问题,基本都答出来了,算法两道也a了一道,感觉实习不会这么严格吧?还是过了一会挂了,因为这个?还是技术不太匹配?面试过程中说搞C++的,心想,搞c++的你面我干啥?唉,这时候有点气馁,然后就接下来半个月没有面试。这时已经是三月底了,看到牛客好多人都已经陆陆续续拿到了offer,看人家的面试准备也没那么早,有0实习的,有没刷算法的,有两个面的,,,唉,反正是一言难尽啊,感觉努力没有什么意义,面试多半是看面试官的感觉,主观性很大啊,只要你技术没有太大的问题。第三次面试腾讯,面试来的比较突然,期间已经有几天没看八股什么的了,临时看了一下之前自己做的面试笔记,但是面试却异常顺利,三天闯到了三面,自己也不敢相信,三面玩感觉也良好,脑子里不得不想着一些“offer结算画面”,但是过了一会查看流程显示“流程终止”,我?哎,当时真的有苦说不出啊,也是一晚没睡。后面就逐渐开始褪去大厂梦了,看着曾经跟自己交流的牛油,朋友,认识的人,觉得他们技术不太如你,算法刷的没你多,进了大厂,但是这又如何呢?能力强不强不是你了说了,面试官说了算。也逐渐知道,不是你能力好就可以了,还得有运气,运气,运气。这个过程太累了,和自己和解吧,不用非得大厂,找个合适一点的就好,放轻松一点。今天有点心事睡不着,闲着想写一些自己的面试过程,勿喷。附上一张面试的情况,公司就不方便透露了。
怒卷的斯科特:八分运气两分实力
点赞 评论 收藏
分享
评论
3
12
分享

创作者周榜

更多
牛客网
牛客企业服务