flutter技术栈!面试题解析已整理成文档,含BATJM大厂
作者:互联网
前言
IT行业薪水高,这是众所周知的,所以很多人大学都选择IT相关专业,即使非该专业的人,毕业了也想去一个培训机构镀镀金,进入这一行业。
但是有关这个行业35岁就退休的说法,也一直盛传。
加上这几年不断有各大公司裁员,最著名的就是华为,35岁以上的被剔除的甚多。
但是这都是被媒体放大的数据,真实情况往往不是表面看到的那样残酷。
很多在这方面有能力的人,30岁之前可以频繁跳槽,30岁之后找一个稳定的跟自己投缘的大企业,你为企业带来的价值大于企业给予你的付出,你的职位肯定是稳稳的。而且上升趋势也不错。
一般到了35岁,也就昏倒了技术管理岗,无论是在网易、阿里、华为、滴滴、美团这些大企业,还是一些小的互联网企业,这类人都是中坚力量。
而我们反过来看看被裁掉的35岁以上的人,职位低、收入低、可替代性强,也就是混了10多年了,你还是在最低端的岗位,那么只能被后来年轻人淘汰。
这就是中国的现实,你想踏踏实实当一个纯粹的码农,好像挺难的,不像国外,有的人四五十岁还能当一个底层的纯粹的码农,只专注于写好的代码好的软件。
但是这就是现实,要想不在35岁被退休,那么就在入职时候做好职业规划。
自学能力和解决问题能力,永远都是IT职业人必备的能力。
阿里面经
面试形式是电话面试,算法是面试官会给你邮箱发一个链接,然后在那个网站里面就可以同步共享屏幕,网站类似于一个编辑器,不能编译,写了代码面试官会看,交流还是在电话里面完成。
一面(1小时)
-
重载与重写
-
final修饰符
-
抽象类和接口
-
GC机制、原理
-
finalize( )的理解
-
GC机制如何判定哪些对象需要回收
-
GCRoots有哪些
-
四种引用
-
垃圾收集算法
-
Hash Map与Hash table的区别
-
怎么让Hash map线程安全
-
Thead Loocal了解吗?
-
线程同步的几种方式
-
加锁与synchromized区别
-
Volatile 了解吗
-
JVM内存模型
-
leakCanary内部机制
-
Handler内部机制
-
MNC与MVP的区别,以登陆模块为例讲一下每层的工作
-
EventBus的原理
-
布局优化 include.merge,viewStub
-
view的绘制流程,自定义View
-
时间分发机制的区别
-
JVM与Dalvik区别 (Android虚拟机)
二面(50分钟)
-
自我介绍
-
abstract和interface区别
-
int和Integer区别
-
四种引用
-
Java里面int、char、long的字节数
-
线程的创建方式
-
RxJava的优缺点
-
EventBus(???不会)
-
从网络上加载一个10M的图片,要考虑哪些
-
http与https
-
http 1.0 和 http 2.0之间的区别
-
设计模式准则(全忘了)
-
Handler机制
-
算法:判断一个链表是否回文
-
算法:给定一个数组,将数组里面的每一位向后移动k位
三面(40分钟)
-
HashNlap与Hashtable的区别
-
Hashtable怎么实现了线程安全,效率低。为什么?
-
Android线程池通信的方式
-
TCP三次握手
-
内存泄漏的几种情况
-
进程的优先级
-
非静态内部类为什么持有外部类的引用
-
在JVM中非静态寸内部类的,class是单独的还是在外部类的class中?内部类的class文件名为“外部类¥内部类.class”
-
Activity启动模式
-
Activity启动流程
-
Handler机制?为什么会存在内存泄漏?
-
MVP是怎么实现的
-
Glide原理?怎么实现缓存
面试心得
1. 算法题怎么答
面试官可能会问到你闻所未闻的算法,这时候你不应该自己瞎想,而是先和面试官把问题讨论清楚。要知道,通过沟通弄明白复杂的问题也是一种能力,在和面试官交流的过程中,不仅仅可以搞清楚题目真正的意思是什么,还可以展现自己良好的交流沟通能力。所以千万不要因为紧张或者害羞而浪费这次大好的机会。有些题目似曾相识,但是暂时没有思路。这时候不妨告诉面试官,给我一些时间思考这个题。然后不要急,不要慌,就当他不存在,拿出纸和笔慢慢算(这充分说明了面试戴耳机的重要性)。你一定要坚定一个信念:“任何一道稍微有难度的算法题,除非做过,否则一定是需要时间想的”。所以,合理的安排思考时间吧。如果十几分钟都想不出来,可以直接放弃。
2. 遇到不会的问题怎么处理
这个问题有可能是面试官故意说得含糊不清,考察你的交流能力,也有可能是无意的,或者是你的理解方式出现了偏差。不管是以上哪种问题,你都应该先和面试官交流,直到你搞懂了面试官要问你什么,而不是按照自己的理解说了一堆无用的东西。举个例子,面试官可能会问了一道算法题:“如何判断两个无限长度的链表是否有交点?”。对于“无限长度”可以有不同的理解,如果真的是有无穷多个节点,那显然这个问题是无法解决的。但如果链表仅仅是有环,那么还是可以解决的。如果面试官的本意是链表有环,但你错误的理解成了无穷多个节点,那么必然会导致无法回答这个问题。而且这并非能力不足,而是属于交流沟通方面的失误,这也正是我想分享的“技巧”。
3. 遇到真的不会的问题怎么处理
遇到不会的问题果断承认啊。如果是基本问题,比如问你哈希表怎么实现,你说不会,那么这次面试可能就悬了。如果是有一定难度的问题,那么你承认不会,也是一种明智之举,毕竟人无完人,一个问题不会并不能全盘否定一个人的能力。
4.心态
面试的时候一定要控制好心态,一个好的心态往往更容易拿到offer。
最后
愿你有一天,真爱自己,善待自己。
本文在开源项目:Android开发不会这些?如何面试拿高薪?中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...
标签:面试题,区别,面试官,35,面试,算法,BATJM,线程,flutter 来源: https://www.cnblogs.com/mzl888/p/14461253.html