前言
说起IT行业,大多数人脑海里反应出的第一个标签一定是“高薪”,而说起程序员,大家更多想到的可能是:
秃顶、木讷、格子衫;
加班多、能赚钱、不花钱;
没对象……
这难道就是传说中的“国际驰名双标”?程序员难道就不是IT 行业的?
上面的都还不是最让人担心的,关键是,网上还有很多人说“程序员在互联网行业里面是吃青春饭的,干到35岁就会被行业淘汰掉”。
这下子戳到了大家心里的痛点。
面试题主要问的有以下这些:
一面
(因为过程比较顺利,题目没有好好记下来,大概就是下面这些吧)
1.项目相关
2.hashmap
3.线程a 等b,b等c的实现
4.类的equals重写
5.线程安全是什么 如何保证多线程安全
6.public private protected
7.简单工厂 抽象工厂 是什么
8.判断一个数组是不是后序遍历(代码 )
二面
(二面一开始的时候我还是有些紧张的,但是我没想到居然挺简单,这也直接导致我三面轻敌了)
1.项目(10min)
2.算法题:判断一个字符串是否是一个IPV4
3.算法题:连续子数组的最大和(剑指Offer上的题)
4.Java异常体系(运行时与非运行时异常的区别)
5.HashCode与equals的区别
6.JVM内存区域划分(程序计数器,虚拟机栈,本地方法栈,堆,方法区,运行时常量池)
7.JVM内存回收方法(判断对象是否已死<1面那个问题>,新生代老年代的垃圾回收算法
8.哪些对象可以作为GC Roots
9.数据库中delete和drop的区别
10.数据库事务的使用场景
11.数据库三大范式
12.数据库索引的创建原则
13.数据库索引底层实现(B+树)
14.线程,进程,程序的区别
15.死锁的产生条件
16.继承与***模式的优劣势
想不到吧,居然就这些。就这?我开始飘了。
三面
1.项目
2.三次握手四次挥手
3.TCP核心机制(滑动窗口,快速重传机制,拥塞控制…可以参考我以前的博客)
4.HTTP和HTTPS及其区别
5.若建立连接时间比较长,HTTP是怎么优化的(注意是HTTP不是TCP)
( 网络怼到我哑口无言,问了三个问题都答不上来,这才换了一个方面,也是从这里我开始慌了)
6.接着问了我**【性能优化的相关问题】**(我答不上来,后面就又问了性能优化的方面的其他,我还是说不会)
7.性能优化完全答不上之后又问了音视频开发。大致就是为什么编码,常见的音视频格式,ffmpeg,opengl,egl,android怎么往ndk通信与调用的
大概就是这些吧,当时有些自乱阵脚,加上本身NDK 了解的就不多,总之,我的表现我自己都看不下去了。
后面……没有后面了。性能优化真的是难到我了。
分享读者
作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我们整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。如果你有需要,尽管拿走好了。
如果你觉得自己学习效率低,缺乏正确的指导,可以点击加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。