总结:
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。
-
BAT大厂面试题、独家面试工具包,
-
资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
视频面试之后,面试官人很好,因为视频面试加了微信,面试官在笔试之前还喊我去做笔试.笔试做的很一般,然后很幸运地收到了腾讯的现场面试通知。
5/11 现场一面
现场面试的面试官就是之前视频面的面试官,人很好,给主动提出一些问题让你思考。现场面试的记录如下:
- 手写代码:计算表达式,验证计算表达的正确性(这个比较难,要考虑很多情况)
- 问如下代码打印哪些?
public class A{
static{
System.out.println(“A”);
}
B b=new b();
public static void main(String args[]){
A a=new A();
}
}
public class B{
static{
System.out.println(“B”);
}
}
public static void main(String args[]){
A a;
- SSL 证书链,证书链是否被中间人攻击
- 操作系统的进程空间和i/o空间是统一编地址(忘记了)
- mov 中的地址值是逻辑地址还是物理地址?逻辑地址如何转换得到物理地址
- so如何确定入口地址?(不会,很难受)
- 你有什么要问我的吗?
一面完成当天晚上收到了二面的短信通知,于是第二天早上又去了二面。
5/12 现场二面 (问了很多,有些记不清了)
- java 哪些内部类?内部类为什么局部变量用final
- java 有哪些语法糖
- for-each 循环的原理
- java 序列化了解多少?
- hashMap put get 原理
- hashMap 如何扩容,原来的Entry如何对应到新的Entry上?
- concurrentHashMap 原理
- 红黑树查找和插入的时间复杂度
- java 泛型方法如何确定类型
- java 泛型中的?通配符
- 深拷贝和浅拷贝
- 父类没有执行深拷贝呢,子类如何让父类深拷贝呢?
- 反转单词(最小的空间复杂度)
- 乐观锁和悲观锁
- 手写单例模式(double-check)
- 乐观锁写单例模式
- treeMap的原理和linkeHashMap的原理
- activtiy 如何被实例化的
- activity是通过反射被初始化的吗?初始化的类加载器是哪个呢?
- anr是什么?如果主线程一定要执行耗时逻辑,如何保证不发生ANR
- app 如何判断在后台?
- 你有什么要问我的吗?
二面问了大概80分钟的样子,面试官很年轻,长得蛮帅的,人也很nice,思维敏捷,反应超快,全程就是一张纸和笔,想到什么问什么。给我一个感觉就是做事干练,技术实力深不可测。
二面回来之后,查了公众号状态,变成hr面环节,开心~
5/13 hr 面
- 介绍你自己
- 你觉得研究生期间比较挫败的一件事是什么?
- 这件事过去多久了?
- 你以后怎么规划和打算的啊?
- 想去北京吗
- 找工作有什么特别想去的公司吗
- 你父母是做什么的啊
- 你是独生子女吗?
- 你有女朋友吗
- 你有什么要问我的吗?
hr面还是算是轻松,小哥哥很文艺,说话蛮温柔的。
5/19 号收到了腾讯的hr信息确认,快吃晚饭的时候收到了腾讯的offer。
总体感觉:腾讯的面试比较注重基础和细节,面试官人都很不错,会主动让你热身,对面试官提出的问题,也会很仔细地回答。现在回忆起来,无论是在面试还是其他的细节上,腾讯都做得井井有条,也很人性。不愧是大厂,很赞!
##快手
写在前面
6.8号笔试,6.26下午面试,6.29收到hr面试通过,offer报批的消息。此外还拿到了网易的散招、老虎证券、Nebulas的offer(都是实习)。腾讯SNG二面跪、CDG二面跪,百度阿里错过了投递的时间。。。不过,校招开始前,自己最想去的两家公司就是头条和快手,所以还算幸运
技术面
具体哪面问的忘了,就统一写一起了,具体的顺序也是随便写的。
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月的秋招啊。
祝大家9月都能拿到理想的正式Offer,一起加油。
尾声
最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。
如果需要PDF版本可以在群文件夹里,自行领取!
-
或者在群文件夹中里,自行下载直达领取链接:【https://links.jianshu.com/go?to=https%3A%2F%2Fjq.qq.com%2F%3F_wv%3D1027%26k%3DBRZhpPkt】
进阶学习视频
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
总结
其实要轻松掌握很简单,要点就两个:
- 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
- 多练。 (视频优势是互动感强,容易集中注意力)
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
以上就是总结的关于在面试的一些总结,希望对大家能有些帮助,除了这些面试中需要注意的问题,当然最重要的就是刷题了,这里放上我之前整理的一份超全的面试专题PDF
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!