Android开发面经求职全攻略:从失败中汲取教训,这几个坑点助你避免重蹈覆辙!

在面试的初期,我曾遭遇过一连串的挫折,几乎每参加一次面试都会被拒绝。那时,我心中充满了自我怀疑,开始怀疑自己是否真的能力不足,无法找到工作。然而,我深知工作本身就是一种双向的选择,一家不行,就换另一家。在这个过程中,我逐渐明白,自信是关键。不要因为别人的一句话就全盘否定自己,要坚信自己的实力和能力。
在这里插入图片描述

面试战况(时间排序)
  • 最右二面挂
  • 猿辅导一面挂
  • 伴鱼offer(两轮技术+一轮HR)
  • 顺丰二面挂
  • 百度二面挂
  • 微博一面挂(一面就问意向薪资,面的还行,要多了没有后续了)
  • 老虎证券offer(两轮技术+一轮HR)
  • 滴滴一面挂
  • 快手简历挂
  • 字节offer(三轮技术+一轮HR)
  • 美团HR面(三轮技术)
  • 腾讯HR面(三轮技术)
非技术准备方面
  • 离职原因

当被问及离职原因时,不要过于坦诚地指出薪资不高、工作环境不佳或缺乏成长空间等具体原因。相反,应将个人发展作为主要方向,展现出你希望寻找更好的职业发展机会。请务必避免批评或指责前雇主的言论,这可能会对你的面试产生负面影响。

  • 简历投递策略

如果你对自身能力有足够的信心,可以选择直接投递目标公司。然而,如果你觉得需要更多的面试经验来提升自信,可以先投递一些规模相对较小的公司以积累面试经验,了解市场行情。这样,在面对心仪的公司时,你已经具备了更丰富的面试经验和自我认知。

  • 心态调整

在求职过程中,保持积极的心态至关重要。不要让失败的面试经历影响你的自信心。记住,面试官的嘲讽并不代表你的能力不足,而是他/她个人的观点。要学会从失败中吸取教训,不断总结并提升自我。工作是双向选择,一家不行再换一家,总会找到合适的机会。

  • 技术准备

关于技术准备方面,你可以将面试中遇到的问题进行整体分类和总结。这样不仅可以节省时间,还可以帮助你更好地掌握面试的重点和方向。在面试过程中,保持冷静和自信,展现出你对技术的热情和扎实的基础知识。通过不断的学习和实践,相信你一定能够顺利通过面试并找到满意的工作。

### 面试题分享(完整文档扫码领取!!!)
Java
  • 怎么判断一个字符串的字符个数,比如说中文
  • Java的异常机制,为什么这么设计,什么时候用什么
  • HashMap,经典的就不一一列举了,说几个可以拓展的
  • 解决hash冲突的方案有哪几种
  • 1.7和1.8有什么区别(链表头插尾插方面)
  • hashmap高并发场景会怎样
  • 高并发链表成环会有什么问题
  • hashmap扩容时到底干了什么(位运算过程)
  • concurrentHashMap原理
  • String,StringBuilder,StringBuffer
  • ArrayList多线程下会有什么问题
  • 内部类持有外部类引用的原理是什么
  • volatile有什么用,原理是什么
  • 为什么会有StackOverflow,stack的大小是多少
  • 虚拟机
  • Java虚拟机和Android虚拟机有什么区别
  • Android两种虚拟机有什么区别
  • 类加载过程
  • 内存模型
  • 四种引用类型
  • class文件格式
  • synchronized底层实现原理
  • synchronized放在普通方法和静态方法上有什么区别
  • synchronized的锁实际是保存在哪里的(对象头)
  • 双亲委派机制,为什么要用双亲委派机制,如何打破双亲委派机制
  • 内存收集整理的算法
Android

Activity

  • Activity的生命周期
  • dialog会不会影响Activity生命周期,为什么
  • Activity的启动模式(还会伴有场景让你说这种场景选哪个合适)
  • Activity任务栈以及taskaffinity

Service

  • Service存在的意义是什么
  • startService和bindService的生命周期
  • startService和bindService的区别
  • startService和bindService分别适合应用在什么场景
  • Service可以执行耗时操作吗
  • IntentService和Service的区别
  • Service和线程都可以用来执行后台任务,为什么选Service不选线程,明明线程用起来更简单

broadcastreceiver

  • 广播的原理是什么

View的绘制流程

  • 详细讲一下View的绘制流程有哪些
  • View的第一次绘制是怎么调到的
  • View的后续绘制是怎么调用的
  • View的onMeasure,onLayout,onDraw都分别用来干什么
  • 除了上面三个,还有哪些关键的方法
  • invalidate的原理
  • invalidate和requestlayout的区别
  • requestlayout的作用范围是多大
  • 一个View被添加后第一个回调的方法是哪个(onAttacthToWindow)
  • 为什么View.post能拿到view的宽高
  • 讲一些字节做过的自定义VIew的例子

触摸事件分发

  • 讲一下Android事件分发的流程
  • 怎么处理滑动冲突
  • 怎么判断手势
  • 讲一些自己做过的处理滑动冲突的原理
  • 事件分发
  • handler这套机制的原理
  • IdleHandler是什么
  • handler的postDelay怎么实现的
  • Message有个缓存池,缓存池大小是多少知道吗
  • MessageQueue的中没有消息的时候为什么不会ANR
  • 知道epoll的底层原理吗
  • epoll是阻塞的吗

ANR

  • ANR是什么
  • ANR的原理
  • 什么情况下会发生ANR
  • 如何检测是否发生了ANR

SharedPreference

  • SharedPreference原理
  • SharedPreference的优化
  • SharedPreference的commit和apply区别
  • 什么情况下会选择用SharedPreference

序列化

  • Serlizeable和Parceable的区别
  • 什么情况下选择用哪个,为什么
  • 有没有了解过别的序列化方法

RecyclerView

  • RecyclerView的缓存机制
  • RecyclerView和ListView对比
  • Recycler是怎么进行回收和复用的
  • LayoutManager怎么进行布局的

内存泄漏

  • 内存泄漏的常见场景
  • 怎么检查内存泄漏

Binder

  • Binder原理
  • Binder比起其他跨进程的通信方式好在哪
网络
  • HTTP报文格式
  • HTTP在网络体系架构中的意义是什么
  • HTTPS和HTTP的区别
    • 对称加密和非对称加密
    • TLS四次握手的过程
    • CA是干什么的
    • 校验证书的详细过程
    • HTTPS一定是安全的吗
  • TCP和UDP的区别(高频)
  • HTTP1.0,1.1,2.0的区别
  • 有没有实际了解过HTTP2.0到底比1.1快了多少
  • 详细解释“Keep-Alive”有什么用
  • UDP为什么比TCP快(存在误导,UDP不一定比TCP快)
  • UDP可以进行广播为什么TCP不行
  • 为什么要三次握手,四次挥手
  • 为什么握手仅需要三次而回收需要四次
  • HTTP是基于什么协议的(一般来说是TCP,可以借此引出QUIC,KCP等协议进行进一步的探讨)
操作系统
  • 线程间通信方式
  • 线程的几种状态
  • 进程间通信方式
  • 线程和进程的区别
设计模式

设计模式没有必要全都看,重要的是你会的几种设计模式他们的优点是什么,缺点是什么,在哪些常见的地方用到了他们,要能够举一反三,例举几个我面试时常说的。

  • 单例——单例一定要特别熟,特别高频,尤其是DCL为什么这么写,synchronized为什么那么加,有什么讲究,volatile在这个地方起到了什么作用,不加会导致什么问题。静态内部类的单例怎么能够保证线程安全。等等。
  • Builder——常见,知道什么时候用就行了
  • 责任链——要能扩展到Android的事件分发,okhttp的拦截链等。
  • 观察者模式——要能知道Android中哪些地方用到了观察者,什么情况下使用。比如广播机制就使用的是观察者
  • 享元模式——要知道享元模式是为了避免重复创建对象而导致的开销,Message,String,线程池都是这样的设计思想。
  • Adapter——要能想到ListView和RecyclerView,以及为什么他们设计的时候要用Adapter
  • 代理模式——静态代理,动态代理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值