flutter通知推送,android常用面试题

OPPO面试

第一面

1、手写算法题。猫扑素数;1到n,求1的个数;单词反转;

2、Activity的加载模式。

standard,singleTop,singleTask,singleInstance。

3、什么时候会用到singleTask?

在MainActivity的时候用到

4、Handler机制?

5、一个线程是否只有一个Looper?

6、如何保证一个线程只有一个Looper?

7、多线程的方式有哪些?

8、ANR异常发生条件

(1)5s内没有响应用户输入事件

(2)10s内广播接收器没有处理完毕

(3)20s内服务没有处理完毕

9、如何分析ANR?

10、自定义View和ViewGroup

11、事件处理:分发,拦截,处理。

12、GC算法

13、View动画,属性动画,帧动画。再说下View和属性动画区别。

第二面

1、OkHttp原理?

2、Retrofit原理?为何用代理?代理的作用是什么?

3、ButterKnife原理?用到反射吗?为什么?

4、ANR异常如何查找并分析?

5、JVM内存模型?性能调优?

6、垃圾搜集算法有哪些?G1算法?

7、Http和Https的区别?

(1)Https是ssl加密传输,Http是明文传输

(2)Https是使用端口443,而Http使用80

(3)HttpsSSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比Http协议安全

(4)Https协议需要到CA申请证书

8、加密算法有哪些?对称加密和非对称加密的区别?

(1)MD5,SHA1,Base64,RSA,AES,DES

(2)对称:使用相同密钥,需要在网络传输,安全性不高。

(3)非对称:使用一对密钥,公钥和私钥,私钥不在网络传输,因此安全性高。

9、TCP的三次握手?两次行不行?为什么?TCP攻击知道吗?如何进行攻击?

10、内存优化如何做?

11、看过那些源码?

12、会对代码进行review吗?何时review?怎么review?

13、项目中遇到的让你棘手的问题?多久解决,怎么解决?

14、平时如何学习?何时学习?怎么学习?学习渠道?

第三面

1、前几次面试感觉如何?

2、你现在的APP日活是多少?

3、你现在如何处理崩溃日志?

4、你觉得小团队好还是大团队好? 5 你的优点和缺点说下?

6、你的发展方向说下?是先讲究宽度还是讲究深度,为什么?

7、为什么离职?

8、其他小问题,如哪里人啊?现在工资怎样?要求如何,何时到岗啊?有什么问题要问我的吗?

腾讯

三轮面试 一面

1、算法题 通电小球

2、Android 沉浸式状态栏 怎么实现的

3、事件处理函数有哪几个,父View 子View 监听同一个事件,重写哪些方法。在哪个View重写?

4、ViewRootImpl接受事件吗?

5、apk编译打包流程 V1,V2 签名区别

6、利用logging监听方法耗时,会不会让app增大延迟。

7、插件化怎么加载资源的?

8、JVM怎么保证gc效率跟线程运行效率的 ?

9、如果android没用对应的view,flutter能运行吗? 手写单例模式,volatile 跟 synchronized区别?

10、接口暴露,但是不让别人调用,有哪些办法?

二面

1、为什么采用flatbuffer? 比Json好在哪里?

2、如何处理Crash,NativeCrash呢?Google是怎么做到的?如果上报过程中再次产生Crash能不能捕捉到?

3、uncaughtException是被谁调用的,如果再次崩溃能不能捕获到?

4、Linux是怎么知道app崩溃的,如果想要在被kill前 做一些耗时操作,该怎么做?

5、考虑设计一个crash捕捉模块。

6、100万个数字求100个最大值。

7、手写快速排序算法。

三面 (GM面)

1、kotlin比Java好在哪里,是函数式编程吗?

2、如何防止DNS劫持?

3、如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

尾声

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

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

这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

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

架构篇

《Jetpack全家桶打造全新Google标准架构模式》

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

etpack全家桶打造全新Google标准架构模式》**
[外链图片转存中…(img-L2mrFaCH-1713810848264)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 18
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值