一面 46min
简单介绍项目
了解哪些数据结构
了解哪些排序算法
手撕代码:堆排序
Java集合类:a)LinkedList与ArrayList;b)HashMap扩容 ConcurrentHashMap
TCP与UDP,区别及运用场景
http是用的TCP还是UDP
http与https的区别
JVM内存模型(Static方法在哪个区)
Activity生命周期,Activity启动模式,Handler源码
代码题:旋转数组
(一面面试官很nice,答的时候卡壳还会给引导,问的问题、撕的代码都不难)
下午面完当天晚上就接到约二面的通知了
二面 55min(部分问题有重叠的不再列出)
final、finally、finalize的区别
抽象类的成员变量与成员方法的继承
socket是否了解,简单聊聊
经典问题:在浏览器输入网址敲回车后经历了什么(这题我感觉我至少说了10分钟[捂脸]) a)三次握手;b)https的加密流程;c)对称加密与非对称加密原理(RSA、AES)
数据库有哪几种隔离机制
union与union all的区别
MySQL的索引怎么实现的
B+树查找的时间复杂度,数据结构讲一下
设计模式:a) 手撕DCL单例;b) 还了解什么设计模式(讲了观察者模式、策略模式)
JVM的垃圾回收机制,GC Roots有哪些,说说了解的垃圾回收器
View的事件分发机制
代码题:两数相加(链表,要求原地实现,空间复杂度O(1),这个犯蠢撕了好久结果还是靠强行打印发现的问题)
面完后二面面试官希望直接进行三面,可惜似乎三面面试官在开会,所以另约在了两天后
三面 70min (部分问题有重叠的不再列出)
线程与进程
死锁条件,如何排查、解决
虚拟内存、分页机制,讲一讲LRU
创建对象的方式有哪几种(new 反射 clone 序列化)
序列化与反序列化
反射中的class.forname()与class.getclass()二者有什么区别
String.equals(),StringBuffer
类加载的过程讲一下
Java锁的种类
volatile关键字的作用、原理
handler.post(Runable()),聊一聊这个
ANR,OOM了解吗?
代码题:a) 螺旋遍历矩阵;b)(变种)原地旋转图像
聊人生聊理想聊爱好
讯飞
相对于网易的面试要简单一些。主要问题偏向于解决他们项目中面临的问题。
1.自我介绍:当然这个还是那些内容嘛。
2.他又问了一些基础的东西。这个我也记不大清了。
3.然后又问了MVP架构的东西。
4.然后他开始问一些问题,应该是他们项目中遇到的问题。讲了一个需求“要在手机上显示一个表格,表格可能100*100,要在这些表格里显示数据,手机屏幕一般只能显示4列,这个要怎样做。是使用View用Canvas绘制上去,还是使用ViewGroup添加View进去?”。自己给出了使用RecyclerView然后自定义LayoutManager的方式实现(因为自己这样做过嘛,详情可以看我的把RecyclerView撸成马蜂窝)。他听了还是比较满意的。
5.还有一个是手机和平板适配的办法。这个其实很简单嘛。Android官方有很好的方案。layout-swxxx+Fragment嘛。然后接着问了Fragment使用的具体方法都有哪些。这个也不难嘛。什么Fragment+FragmentAdapter+ViewPager,或者使用FragemntManager来通过Transaction来操作Fragment等等。
6.最后问了一下工作模式。一个需求拿到手,要怎样把需求做出来。这样的工作流程是怎样的?这个自己从需求分析到与其他部门商定通信协议,然后再分析需求要注意的case,最后再实际编码,都讲了一下。他也比较满意的。
整体下来,这个公司偏向于应用和解决问题的能力。具体的原理没有去问太多。过的也是挺轻松的。不过这里可以看出无论是大公司和创业公司,对MVP都很有比较高的要求的。还有就是简历中自己写的东西一定要能讲出个123。这个家公司还是比较注重人才的开的薪水还是不错的。但是最后我聊了聊工作内容,自己并不是很感兴趣。感觉对于自身的成长帮助不是很大,所以并没有准备去。
总结
面试下来也有些感悟吧。
首先,基础知识,这些都是在面试中必然涉及的问题。可能我上面并没有列点来具体说明,但是多少都有涉及。而且我即使列出了这些,你也不一定会遇到,其实这个范围太大了,所以自己要注意对于细节的追求。如果是要面试了,那么就自己找一些,都有很多篇文章来介绍这些知识点了。
387+755+791=1953页的3份高质量《大厂面试宝典》合集
点赞+评论666后!私信我口令【面试】!即可立马回复你免费下载此 阿里P8学习进阶笔记 的方式!
由于简书限制网盘链接,在我主页扫描我的二维码,我免费分享给你
学习分享
在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
最新上万页的大厂面试真题
七大模块学习资料:如NDK模块开发、Android框架体系架构…
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
44985503452)]
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。如有需要获取完整的资料文档的朋友点击我的GitHub免费获取。