技术面
具体哪面问的忘了,就统一写一起了,具体的顺序也是随便写的。
Java相关
- String、StringBuffer、StringBuilder的比较。好,那你给我说个需要使用StringBuffer的场景(囧),还真没想出来。。。
- finalize知道吧?不知道,但是我知道final和finally,好,那try catch finally之间的关系说一下,然后面试官在纸上写了段代码,让我判断输出是啥。因为涉及到return,就问我Java里的return机制。面完后查的:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回)
- 说一下this,知道多少说多少
- hashcode和equals方法,在实际的项目开发中,什么情景需要我们去手动重写?
- 我看你用到了单例模式,那你写一个”完美的“单例模式的实现吧。。。然后抠细节
- 用过Redis?那还知道其他的分布式缓存吗?说一下和Mem***d有啥区别
- 知道异常吧?平时遇到过哪些?
- 说说软引用和弱引用的不同
- HashMap的put原理?和Hashtable的不同
- 可能还有。。。记不起来了
Android相关
- Activity A启动Activity B(可能为透明的)的过程,说一下生命周期函数回调的顺序
- Activity的生命周期函数是谁调用的?
- 说一下Fragment的生命周期?它的生命周期函数又是谁调用的?
- 知道视图绘制吧?说一下View的绘制原理。那重绘invalidate呢?说一下从调用invalidate到onDraw的过程。
- 我看你用了几个框架:说一下LeakCanary的原理?怎么判断内存泄露发生的?ButterKnife的注入原理?它的bind方法是怎么找到对应的xml文件及将控件进行绑定的?
- 你用了Litepal框架,还了解过其他的吗?为什么选择用Litepal而不用那些?
- SQLite也属于关系型数据库,说一下关系型数据库使用过程中的一些优化手段吧
- 说一下Android的事件分发机制,就是怎么进行传递的
- 用过RecyclerView吗?那ListView呢?好,说一下ListView的一些优化技巧。
- Android线程间通信的方式有哪些?好,那说一下Handler的原理吧
- 学过Kotlin?恩,说说你知道的关于Kotlin的东西,最后和面试官聊得时候,才知道快手已经在使用Kotlin开发app了,哈哈,感觉自己有点幸运,面试官一看我Kotlin掌握的还可以,说对我印象挺好。然而,下面的算法题,没能用Kotlin写出来,,还是用的Java。。。
- 可能还有。。。记不起来了
计算机网络相关
- UDP与TCP的区别
- 提到拥塞控制了,说说TCP是怎么实现拥塞控制的?怎么判断当前网络发生了拥塞?
- HTTPS与HTTP的区别?客户端通过HTTPs的url访问服务端,说一下整个过程
- 你说TCP的首部有固定20个字节,都包含哪些内容?
- 说一下三次握手、四次挥手(详细点)?为什么握手需要三次,而挥手却需要四次?
- 可能还有。。。记不起来了
算法
1、一个多线程的问题,用五个线程,顺序打印数字1~无穷大,其中每5个数字为1组,如下:其中id代表线程的id
id 1 2 3 4 5
no 1 2 3 4 5
no 6 7 8 9 10
no 11 12 13 14 15
no .. .. .. .. ..
具体思路及代码实现,当然包括一个类似的问题,已整理到博客:欢迎交流
面试题:常见的多线程实战手撕代码(顺序打印数字、字母)
2、判断链表是否有环?并确定环的入口。
剑指Offer原题:
链表环的入口节点
HR面
家是哪的?父母做什么的?我看你是通信专业的,为什么想做客户端开发?保研还尝试过哪些学校?为什么最后选择北邮?还有别的Offer吗,薪资是多少?等等。。。期间小姐姐一直在讲快手的产品、日活特别大,公司得技术氛围好、提供免费的午晚餐、健身房等等。哈哈,反正聊得很愉快。
写在最后
能拿到快手的实习Offer,感觉自己很幸运,3月初才开始准备,身边的同学早就拿到了理想的offer,唉,尚未成功,同志仍需努力啊,实习的同时,也得准备9月的秋招啊。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后笔者收集整理了一份Flutter高级入门进阶资料PDF
以下是资料目录和内容部分截图
里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!**