IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> androidapp开发工具,32岁的程序员被裁 -> 正文阅读

[移动开发]androidapp开发工具,32岁的程序员被裁

第一面

面试官看起来很年轻,感觉是一个刚毕业不久的小伙汁,声音很青涩哈哈哈哈
开始面试的时候把我给问懵了,当时刚午觉睡醒,还没缓过神

计算机网络部分:

1.http的一套流程是什么?

2.https发起连接的流程是什么?

3.http请求的请求头中包含哪些字段?(这里忘了不少字段,只说了三四个,呜呜呜)

4.一次http请求的结构是什么样的?(这里因为网络的问题,听了三遍,终于弄懂了面试官的意思,呜呜呜)

操作系统:

1.能简单说说线程和进程间的区别吗?

2.进程间通讯的方式你知道有哪些吗?

3.听说过Messenger吗?(知道,但是底层还是使用的AIDL+Handler的形式,AIDL底层还是使用的Binder驱动)

数据库:

1.能简单说一下数据库如何修改一张表中的数据吗?

2.给一张表增加一个字段该用什么关键字?

Java:

1.能简单说说Lock,synchronize,CAS之间的关系,以及具体实用的场景吗?

2.能详细说一下CAS是什么吗?AtomicInteger是怎么实现线程安全的?

3.具体的锁升级机制能简单讲讲吗?

4.能简单说说代理模式吗?动态代理和静态代理有什么区别?

Android:

1.能简单说一下事件分发机制吗?

2.MeasureSpec.UNSPECIFIED是什么意思?如果外层的ViewGroup的模式是AT_MOST,内层是match_parent,那么最终传递到内层的模式是什么?(AT_MOST)? ? ps:这个问题没啥意义

(听你说了View中有scrollTo,scrollBy,那么我们分析一个场景题)

3.场景题:首先有一个FrameLayout,其中嵌套着两层View,我们在进行重写onTouchEvent的时候,如何让上层View滑动并且暴露出下层的View?(这里有一个坑,面试官说的scrollTo、scrollBy,我就在这俩上面思考怎么暴露出下层的View,最后突然想到可以通过事件来调整整个View的布局位置)

源码:

1.看过那些优秀的开源框架源码吗?

2.知道那些源码相关的设计模式呢?

3.HashMap简单说一下原理吧

二面:

二面是一个女面试官,年龄可能在40岁左右

设计模式:

1.熟悉那些设计模式呢?

2.动态代理底层是如何实现的?

3.讲讲Retrofit的动态代理吧

Java:

1.能简单说说JVM内存模型的目的以及在内存中区分为哪些区域吗?

2.内存回收机制大致讲讲呗?

3.类加载机制完整细致的描述一下把

4.类加载器的双亲委派原则说一下吧?(这里有一个疑问,我说父子类加载器不是继承关系,然后面试官说不太对,这里我有一点点疑问,还请大家告知一下)

5.能说一下Java .class文件的结构吗?

6.线程池的基本机制有了解吗?非核心线程如何保证延迟结束?

7.为什么内部类会默认持有外部类的引用?

Android:

1.Handler消息机制简单说一下吧(延时的消息是如何发送的?以及通过Looper.loop()是如何处理延时消息的?)

2.为什么Handler会出现内存泄漏?

3.View中的post和handler的post有什么区别?(我说view中的handler是经过重写的,会处理关于View的相关绘制事件,然后面试官说只回答对了一部分,我有些疑问,还有其他的区别吗?)

4.有用到什么内存泄漏检测的框架吗?知道原理吗?(就是上面所说的JVM内存回收机制)

5.知道关于性能优化相关的吗?能简单讲一下吗?(布局,异步,过渡绘制)

6.能讲一下Activity的启动流程吗?

7.听你讲到了进程间通讯,PackageManagerService和ActivityManagerService进行通信的方式是什么?

8.Binder驱动底层原理了解吗?(mmap的内存地址映射)

9.Serializable和Parcable有什么区别?如何使用?

10.听你说到了sp(SharedPreference),你知道sp能跨进程通讯吗?

尾声

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

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

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

Android进阶学习资料库

一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!

**本文已被[CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](

)

vip204888.jpg
收录**

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

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

司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

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

因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:30:27  更:2021-10-18 17:32:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:59:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码