主要问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.有上架应用加分
最后
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取
该从何学起的朋友。**
[外链图片转存中…(img-OQQ1Wgj7-1719101327789)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取