网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前言
回顾一下自己这段时间的经历,三月份的时候,疫情原因公司通知了裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷。到五月份,公司开始第二波裁员,我决定主动拿赔偿走人。后续的面试过程我做了一些准备,基本都能走到hr面,后面我也顺利地拿到了offer,我给大家分享下我的求职体会,希望能给大家一些参考。
一般Android面试分为两部分:Java部分和Android部分,下面说一下自己面试过程遇到的一些具体题目和一些相关知识点。
一面:
- 自我介绍
- 介绍一下自己做过什么项目 ps:这里会根据项目问一些问题
- 跨线程通信 主要涉及LooperMessageHandler以及MessageQueue
- 说一下自定义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:JNINativeMethod保存函数对应关系
- 平时有什么爱好没有 = = ps:潜泳 可以潜好几天 然后自己浮上来
二面:
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**