2024资本寒冬下-Android面试者,大厂必凉面经(为春招准备避坑系列)

文末

那么对于想坚持程序员这行的真的就一点希望都没有吗?
其实不然,在互联网的大浪淘沙之下,留下的永远是最优秀的,我们考虑的不是哪个行业差哪个行业难,就逃避掉这些,无论哪个行业,都会有他的问题,但是无论哪个行业都会有站在最顶端的那群人。我们要做的就是努力提升自己,让自己站在最顶端,学历不够那就去读,知识不够那就去学。人之所以为人,不就是有解决问题的能力吗?挡住自己的由于只有自己。
Android希望=技能+面试

  • 技能
  • 面试技巧+面试题

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 说一下自定义View需要注意哪些细节 主要说了一下View绘制的三大过程onDraw()不要做耗时操作 不要创建新对象 以及 怎么处理View的触摸事件
  • View的事件冲突的解决办法 ps:重写dispatchEvent()或者touch()方法
  • 手写代码:给你一个无限大的数(用字符串表示),计算这个数加一以后的结果 手写代码在这个网站进行 ps:面试官发给你一个链接 你写代码面试官会同步看到

二面

  • 手写代码 两个有序链表合并成一个有序链表
  • Object中有哪些公有方法 ps:clone();toString();wait();notify();getClass();finalize();equals();hashCode();
  • 讲一下listView的优化方法
  • 讲一下RecycleView与listview的区别
  • view的绘制过程
阿里
  • 问了一下大体情况 比如什么时候可以实习啊 考不考研啊
  • 都会什么算法 讲一下
  • 做过什么项目没有 讲一下项目优化的地方
  • Activity的启动模式
  • 跨线程通信
  • 夸进程通信 主要是Android的AIDL
  • 如何解析json数据和xml
蘑菇街
  • 说说做了什么项目
  • 自定义view的几个步骤 怎么刷新view ps:onLayout(); onMeasrue();onDraw();
  • RecycleView的优化
  • 几种context的区别
  • 看过什么源码没有
  • 讲一下binder类
  • Runnable运行在哪个线程里面 ps:开启一个子线程的唯一方法就是new Thread().start();
  • HashMap和HashTable的区别
  • raw和assets文件夹的区别
  • activity关闭后尚未运行完毕的thread会怎么样 ps:会变成空进程线程,优先级最低 很容易被终止回收
  • mainfest文件的合并规则
网易

网易内推后笔试,过了笔试后去杭州面试 ps:报销来回车费 报销上限是600元 这个回来没记 可能不全

一面:

  • 自我介绍
  • 跨线程通信
  • 讲了其中一个项目是怎么实现的 问jsoup怎么拼 = =
  • 用过哪些开源库 讲一下他的架构是怎样的
  • java的四种引用 虚引用的作用
  • 图片三级缓存 内存缓存满了怎么办 ps:优先级队列 满了后根据优先级主动删除一部分图片 根据LRU算法确定优先级
  • 讲一下JNI开发的过程 java怎么找到c函数
  • 平时有什么爱好没有 = = ps:潜泳 可以潜好几天 然后自己浮上来

二面:

  • activity的四中启动模式
  • service的生命周期
  • 讲一下自己的项目
  • 什么是OAuth协议 做什么的
  • 其他的记不清楚了

hr面:

  • 什么时候可以来实习 实习多久
  • 多个offer怎么选
  • 你有团队开发经验 内部冲突怎么解决
  • 你觉得杭州怎么样
  • 为什么选择网易
  • 用过网易什么产品 ps:吃过网易猪肉
  • 其他忘记 好像聊了好久 得一个小时吧
字节跳动(无笔试)

  • dvm和art的区别
  • 从framework的角度讲activity的启动流程(冷启动)
  • 手写算法,二维数组,每一行,每一列都是升序,找出某数的下标,没有输出[-1,-1],最好的时间复杂度是m+n(行数+列数)
  • zxing二维码开源框架流程
  • contentprovider怎么升级维护?
  • constaintlayout
  • bitmap有几种格式,分别占多少字节
滴滴出行(无笔试)
  • android事件分发机制,如何下发,如何上传?
  • 一个界面下拉刷新要怎么实现?
  • bitmap占用内存多少怎么计算?一个像素占几个字节?
  • threadlocal的原理?
  • framework加载activity的流程
  • arraylist和linkedlist的应用场景
  • 网络请求相关的框架
  • 好几万条短信,滑动卡顿怎么解决?
  • 有没有了解过三方开源数据库(好像是腾讯的什么数据库框架,不仅仅是懂sqlite)
  • 避免内存泄漏,为什么说handler用成员内部类会内存泄漏?activity不是已经到gcroot被切断了吗?还有静态context持有activity的引用会内存泄漏,必须要持有怎么办?(及时释放)
  • 计算viewgroup的层级,递归实现和非递归实现
  • 自己写一个应用,包名就叫android行不行,为什么?
  • 主线程looper如果没有消息,就会阻塞在那,为什么不回anr?
  • 系统进程可以用webview吗?
  • 原子类的了解一个app多进程的好处
  • 一个arraylist,里面全部是int,讲所有值是2的整数的节点删除
  • arraymap了解
  • binder机制
  • shareprefrence原理?是否线程安全和进程安全?
  • 一个app启动页另开一个进程,启动页10s后启动mainactivity,请问5s的时候有几个进程?
  • java内存结构,内存模型
京东
  • arraylist里面可以不可以new一个t泛型的数组?
  • 补间动画click事件还在原位怎么解决?
  • 多线程并发
  • 隔代数据库升级
  • 性能优化

尾声

最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

进阶学习视频

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值