天天看点

百度、阿里、滴滴、新浪的面试心经总结,2年以上经验必看

一、架构师专题
想要掌握复杂的技术,必须要理解其原理和架构。本模块结合实际一线互联网大型项目理解架构思维,抽丝剥茧,层层深入,帮助大家成为Android架构师,在思想上对架构认识有一次升华,并知其所以然,把别人的架构思想学以致用。
百度、阿里、滴滴、新浪的面试心经总结,2年以上经验必看

面试经历

1.偶然看到知乎的内推帖,投了个简历,下午hr姐姐call我,安排面试选在3天后,然而又要笔试阿里,所以没怎么复习。

  1. 8点起床,9点过比较紧张的去了创业园,感觉知乎氛围很好,在那等了一小会,有前台大叔给你倒水。

一面:

应该是个参加工作不久的研究僧师兄,出了一道算法题,主要考字符转int,然后分析了时间复杂度和空间复杂度,之后聊了android listView的性能优化,还问我recycalView的特点,进程通信的方式,我主要说了aidl和共享文件,广播,本来还想用java装B,还在精通java,然而师兄并没有问,说叫等一下

二面:

二面明显难度提升,而且面试管应该是组长吧,比较喜欢听吹架构,正好之前自己从web后台,客户端,硬件等方面做了一个智能家居项目,就吹了下硬件那边的逻辑,包括蓝牙,wifi的HTTP/IP协议,透传等,红外等传感器,然后web后台我说我用sevlet,因为本身客户端主要需要接口,数据库用mysql,也没问rollback(嘿嘿),然后把客户端展示给他看看,实在太丑没有美工(这不是重点),由于我的项目中有一个很重要的point就是在硬件触发时唤醒服务器后台推送,首先硬件识别后,串口读写数据到单片机,单片机写入wifi缓冲区,wifi通过HTTP透传数据到我服务器(可以用TCP和IP),服务器获取mac标识,推送至TAG(家庭ID)或者用户(Alias)

说到推送,好好吹吹实现原理。

1:pull方式,http长连接或是socket,轮询间隔设好即可,缺点及时性差

2:push方式,实时性好,方法1,google自带推送平台(网太差),方法二,xmpp协议(基于XML)。其实封装的比较好了,有个开源包叫asmark,其中有XmppConnection这个推送库,话说好多公司都是用它自己封装库,不过开源的demo只管推,没有延时推送,消息暂存功能,方式3,用三方的

算法:是2个有序数组合并问题,用2个指针每次比较能够O(n)解决问题,算法pass

LruCache:先装装B,说一下我写的和google V4包有什么不同,主要是没有trimToSize方法,没有sizeof()计算内存耗费大小,我主要是重写LinkedHashMap,讲了下LinkHashMap源码,其实我也是看别人写的源码解析,(嘿嘿,毕竟年轻,多向别人学习)

总结

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

百度、阿里、滴滴、新浪的面试心经总结,2年以上经验必看
百度、阿里、滴滴、新浪的面试心经总结,2年以上经验必看
百度、阿里、滴滴、新浪的面试心经总结,2年以上经验必看

点击:《Android架构视频+BAT面试专题PDF+学习笔记​》

即可免费获取~

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。