博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入解析android核心组件和应用框架,社招面试心得
阅读量:2062 次
发布时间:2019-04-29

本文共 2484 字,大约阅读时间需要 8 分钟。

“我,程序员,32岁,距离退休,只剩3年了!”

这句话用来形容2020年互联网行业最适合不过了。从18年开始,大大小小的互联网公司开始了不止一轮的裁员,19年网上开始充斥一类文章,专门写互联网公司超过35岁的人,如果到这个年龄,还不是leader,业务又不核心,那么请焦虑吧。

转过头,看手中的资源,基于基本盘看清自己的努力方向,非常感慨和受启发。中国互联网经过过去十多年野蛮式的发展似乎这2年开始慢下来了,程序员35岁的退休年龄虽然只是贩卖焦虑的一种说法,但是整个行业对人的要求越来越高是不争的事实,要求我们的成长速度必须跟上。2021年开始,希望自己在技术、管理、业务3个维度再做更深层次的学习,体系化个人的认知,做一个有特点的IT人。

一面(1小时14分)

主要问java,以及虚拟机,问了一点android

1.实习项目有关的介绍以及问题回答

2.反射与代理的区别,动态代理,静态代理,二者的区别,以及代理模式的UML图
3.字节码技术
4.虚拟机的双亲委派,以及好处
5.虚拟机栈的作用,以及什么情况下会发送Stack Overflow
6.谁能做GCRoot,为什么计数法不如可达性好
7.为什么要分新生代和老年代,如何区分
8.GC算法都介绍一下
9.类加载的过程,方法区中存的是什么,类型信息都包括什么,如何判断两个Class是否相等。
10.HashMap的put方法讲一下,讲一下如何扩容,讲一下一个类作为HashMap,要实现哪些方法,equals和hashCode有什么区别和联系
11.消息机制讲一下,讲一下ThreadLoacal,讲一下Handler处理信息有什么方法(除了handleMessage还有什么),MessageQueue是否有长度限制,android中Message多不多?
12.Activity A到Activity B跳转的一个生命周期的过程
13.Activity A(standard模式)跳转到B(单例模式),B再跳转到A,此时返回,会出现什么情况
14.InVisible和Gone的区别,Gone和ViewStub的区别
15.字符串第一次出现一个的字符

二面(34分)

计算机网络相关

1.osi七层架构,物理层做什么的

2.输入网址之后发生的一些列事情
3.DNS用了什么协议,具体是怎么做的
4.TCP的三次握手,以及流量控制
5.HTTP报文里有什么
6.HTTP与HTTPS有什么区别,加密算法是什么
7.HTTP的响应码有哪些?
8.get与post的区别
9.两个有序数组,找到中位数

三面(50分钟)

深入android方面以及实习经历

1.实习项目有关(包括一些具体实现,以及一些关键问题)

2.LayoutManager的作用
3.RecyclerView用的多么有哪些了解,如何去实现双层瀑布
4.如何去设计一个SDK(很多细节的问题)
5.扑克牌,抽五张是同花的概率,抽五张是顺子的概率
6.RN以及Redux的了解,好处,以及使用,以及工作中对于android和RN的比重
7.单例模式的好处,那么什么时候不去用单例呢?
8.SP的内部实现了解么?如何实现的序列化
9.了解注入么?

一些建议

建议题主到拉勾网、内推网或者其它招聘网站看看各个公司对一个 Android开发工程师的招聘要求,你会发现一些共同的特点,抛开对学历工作经验的限制,我总结一下:

1.扎实的Java基础;

2.熟练使用 Android的各个组件;

3.熟悉 Android网络编程;

4.熟练使用Git/svn版本管理软件;

5.具有良好的沟通协调能力和团队意识

6.良好的学习和抗压能力

7.良好的撰写文档的能力;

8.做过 Android性能优化

9.握至少一门数据库语言;

10.熟悉设计模式;

11.熟悉 Android的单元测试

12.使用过流行的开源框架;

13.熟悉jNi编程;

14.有上架应用加分

15.有GIthub的加分

16.有个人博客的加分

17.写过框架的加分

虽然很多公司在招聘 Androld开发的时候总是说要求都很简单:“能写应用就行“,但是你会发现只有具备上述十几条之中半数以上的特征你才能在面试时轻松过关网上的资料很多,想要找到工作还是把基础打扎实吧。如何打好基础呢?Android架构师筑基必备技能有哪些呢?看一下思维脑图:

架构师筑基包括哪些内容

我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。

尾声

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

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

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

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

架构篇

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

点击【】即可免费获得!

777787981)]

[外链图片转存中…(img-WJzYm5RN-1617777787983)]

点击【】即可免费获得!

转载地址:http://nsqlf.baihongyu.com/

你可能感兴趣的文章
Spring使用Cache、整合Ehcache
查看>>
Chrome调试工具奇淫技
查看>>
30分钟快速掌握Bootstrap
查看>>
如何针对业务做DB优化
查看>>
程序猿都该知道的MySQL秘籍
查看>>
Eclipse全面提速小技巧
查看>>
前端程序员必知的30个Chrome扩展
查看>>
memcached分布式实现原理
查看>>
怎么成为架构师
查看>>
40个重要的HTML 5面试问题及答案
查看>>
在Java中如何高效判断数组中是否包含某个元素
查看>>
设计模式总结
查看>>
什么时候可以使用Ehcache缓存
查看>>
Java核心知识点-JVM结构和工作方式
查看>>
Java编程中“为了性能”一些尽量做到的地方
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>