美文网首页Android开发经验谈Android开发Android技术知识
来自一位入行多年 Android 开发程序员的忠告

来自一位入行多年 Android 开发程序员的忠告

作者: 程序老秃子 | 来源:发表于2022-04-16 21:48 被阅读0次

前言

面试...png

● 今年对很多学习Android开发的同学来说,是转折的一年,因为疫情的关系,很多的人员失业了,也有的人找到了一份工作,但是却达不到自己心目中的要求,显得高不成低不就,所以就在准备着今年下半年更换一份更好的工作

● 需要多增加一些面试经验和刷题就成为了当前最为重要的事情,我这些年经历过大大小小的面试,我将其收集并整理了起来,所以接下来我就向大家分享我这些年来的面试的经验和总结

经历

● 我作为一名Android程序员,曾在大厂待过,对Android开发有着丰富的经验,也了解到许多人对学历有着不同的看法,对我而言,学历的本质上就是一块相对好用的敲门砖而已,许多的大学生起初对学业上并不会一起重视,他们只会认为还不容易考上了大学,应该适当的放松一段时间,也就造成了学末挂科的情况发生

● 在这种情况下,有些同学选择了持续摆烂,而有些同学会在这样的例子上痛改前非,无论是普通大学还是名牌大学,这种现象都会发生,名牌大学只能代表你,在高中时期比其他人更努力,对自己的学习是有计划的,但这也仅仅是代表了短暂的优势罢了,并不是所有的名牌大学生最终都可以变为成功者,同时也表示一般学校的毕业生并不会一事无成

● 无论是在校招时期还是在进入社招之后,不可否认,一个好的学历相对来说在同一批求职者中是具有很大优势的,但随着工作的时间变的越来越久,学历所带给你的作用慢慢变得越小,而那些在工作中有着自己的学习方向,并且不断提升自己技术的来说,他就会变成行业中最为抢手的那一批

● 如果你总是在对自己的学历不自信,那么你除了对考研,别无他选,但对于已经进入社会的人来说,学历的提升已经没有太大的需要了,只有将自己的能力提升才是最为重要的,如果说你刚出社会想要实习,那么大厂是可以作为一个你提升技术的跳板,而且大厂对于学历并没有太大的要求,只要你在工作中能够勤奋好学,肯吃苦,同时又有点能力,那么你的转正几率会大大提升,相对于小厂而言,大厂也有着更大的竞争力

面试...png

面试真题

LRUCatch的原理

● LRU(Least Recently Used)缓存算法便应运而生,LRU是近期最少使用的算法,它的核心思想是当缓存满时,会优先淘汰那些近期最少使用的缓存对象。采用LRU算法的缓存有两种:LrhCache和DisLruCache,分别用于实现内存缓存和硬盘缓存,其核心思想都是LRU缓存算法

TCP UDP区别

● udp是无连接的,tcp是面向连接的

● udp是不可靠传输, tcp是可靠传输

● udp是面向报文传输,tcp是面向字节流传输

讲讲Handler机制及其实现

● 通常的来说,就是我们在线程之间处理消息通知及任务调度的工具,Handler 就是用来结合线程的消息队列来发送,处理 Message 对象和 Runnable 对象的工具

● Handler机制的实现离不开与之相关的其他三个类,Message 是 Handler 发送的消息实体,大部分的消息都是通过 Message 来封装传递的;MessageQueue 是用来将消息按顺序排队的队列;Looper 本质就是一个循环,不停的从 MessageQueue 中取出消息然后处理

String、StringBuffer、StringBuilder的区别

● String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁

● StringBuffer对象则代表一个字符序列可变的字符串,当一个 StringBuffer 被创建以后,通过 StringBuffer 提供的 append() 、 insert ()、 reverse ()、 setCharAt ()、 setLength ()等方法可以改变这个字符串对象的字符序列,一旦通过 StringBuffer 生成了最终想要的字符串,就可以调用它的 toString ()方法将其转换为一个 String 对象

● StringBuilder类也代表可变字符串对象,实际上, StringBuilder 和 StringBuffer 基本相似,两个类的构造器和方法也基本相同,不同的是: StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高

Serializable 和Parcelable 的区别

● Serializable的作用是为了保存对象的属性到本地文件,数据库,网络流, RMI ( Remote Method Invocation )以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的,使用了反射技术,并且期间产生临时对象

● Android的Parcelable 的设计初衷是因为 Serializable 效率过慢,为了在程序内不同组件间以及不同 Android 程序间( AIDL )高效的传输数据而设计,这些数据仅在内存中存在, Parcelable 是通过 IBinder 通信的消息的载体

谈谈 Hessian 序列化

● Hessian 序列化是一种支持动态类型、跨语言、基于对象 传输的网络协议

● Hessian采用的也是二进制协议,只不过Hessian序列化之后,字节数更小,性能更优,且具有方便在网络间进行传输,并且可以把对象持久化到数据库或者文件中

文章篇幅有限,更多Android架构资料如下:

架构面试...png
架构进阶资料.png

结语

以上就是我要说的内容

Android架构师之路还很漫长,一起共勉

资料获取方式:+V : ddz3090

PS:有问题欢迎指正,在评论区留下你的建议和感受


结尾...png

相关文章

网友评论

    本文标题:来自一位入行多年 Android 开发程序员的忠告

    本文链接:https://www.haomeiwen.com/subject/ppzhertx.html