前言
在这一个月里,我利用闲余的时间看了下最近Android职业发展这块该怎么选择?这个问题各位大神的回答都非常透彻,相信对大家或多或少都在一定程度上有很大的帮助,今天在这里写这篇文章更多的是想以我开发十年的工作经历,给大家带来一些不一样的关于Android程序员职场的进阶之路。怎样才能一步一步达到自己想要的位置。成为Android高级架构师年薪百万,真的就是我们Android开发者的尽头了嘛!财务自由只是刚刚开始,我们到底应该追求什么呢?看看我的文章吧!
面试题主要问的有以下这些:
一面
(因为过程比较顺利,题目没有好好记下来,大概就是下面这些吧)
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内存回收方法&#xff08;判断对象是否已死<1面那个问题>&#xff0c;新生代老年代的垃圾回收算法
8.哪些对象可以作为GC Roots
9.数据库中delete和drop的区别
10.数据库事务的使用场景
11.数据库三大范式
12.数据库索引的创建原则
13.数据库索引底层实现&#xff08;B&#43;树&#xff09;
14.线程&#xff0c;进程&#xff0c;程序的区别
15.死锁的产生条件
16.继承与***模式的优劣势
想不到吧&#xff0c;居然就这些。就这&#xff1f;我开始飘了。
三面
1.项目
2.三次握手四次挥手
3.TCP核心机制&#xff08;滑动窗口&#xff0c;快速重传机制&#xff0c;拥塞控制…可以参考我以前的博客&#xff09;
4.HTTP和HTTPS及其区别
5.若建立连接时间比较长&#xff0c;HTTP是怎么优化的&#xff08;注意是HTTP不是TCP&#xff09;
&#xff08; 网络怼到我哑口无言&#xff0c;问了三个问题都答不上来&#xff0c;这才换了一个方面&#xff0c;也是从这里我开始慌了&#xff09;
6.接着问了我**【性能优化的相关问题】**&#xff08;我答不上来&#xff0c;后面就又问了性能优化的方面的其他&#xff0c;我还是说不会&#xff09;
7.性能优化完全答不上之后又问了音视频开发。大致就是为什么编码&#xff0c;常见的音视频格式&#xff0c;ffmpeg&#xff0c;opengl&#xff0c;egl&#xff0c;android怎么往ndk通信与调用的
大概就是这些吧&#xff0c;当时有些自乱阵脚&#xff0c;加上本身NDK 了解的就不多&#xff0c;总之&#xff0c;我的表现我自己都看不下去了。
后面……没有后面了。性能优化真的是难到我了。
总结
找工作是个很辛苦的事情&#xff0c;而且一般周期都比较长&#xff0c;有时候既看个人技术&#xff0c;也看运气。第一次找工作&#xff0c;最后的结果虽然不尽如人意&#xff0c;不过收获远比offer大。接下来就是针对自己的不足&#xff0c;好好努力了。
最后为了节约大家的时间&#xff0c;我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档&#xff0c;都可以分享给有需要的朋友&#xff0c;如有需要**【点这里】免费领取**
《Android面试复习资料汇总》
喜欢文章的话请关注、点赞、转发 谢谢&#xff01;
ttps://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)**
喜欢文章的话请关注、点赞、转发 谢谢&#xff01;