前言
移动研发火热不停,越来越多人开始学习 android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感,特此编写一份 android 研发进阶之路,希望能对大家有所帮助。
在这里我把攻城狮分成初级、中级、高级和资深四个阶段,分别对研发设计能力、工具使用、系统原理和架构等作出要求。
字节音视频一面凉经
时间:花了70分钟左右
面试过程:
一开始问我的是一位大佬,他先是问了我一些c++的知识,我答不上来,于是,就说谈一些比较基础的问题。(不得不说,面试官非常棒,很好说话,不存在故意刁难的行为)
面试过程基本上还算是顺利吧,并没有遇到冷场的现象。以下是能记住的遇到的问题:
- 抽象类与接口
- final,finally,finallize区别
- 锁
- 线程怎么开启,怎么使用
- 线程执行结束,我们怎么知道他结束了,其实是ipc的问题…
- tcp和http区别
- 然后让我手算255.255.250.0子网掩码的IP可以有多少个,应该是8+2,所以是2的10次方个
- 刚开始记错了,32/4是8,记成了6,面试官一直问我确认吗,还好后来反应过来了…
- ndk了解吗
- 音视频为什么编码,常见的音视频格式
- 说一下ffmpeg吧
- opengl是干嘛的,egl是干嘛的
- android怎么往ndk通信与调用的,我答了binder,不对,后来看了书应该是jni
- 算法:java手写一个链表类,同时将两个这个类的有序链表合并
唉,我先弄成了双向链表,说不要这么麻烦,后来合并又忘了把链表往下一个指了
感想
面试期间,面试官提醒了我一些(面试官是真的好),但是让我比较意外的是,我准备了好多android,Java的内容,但是一点都没有问到……感觉有些劲儿使错地方的感觉。
字节考的东西与其他家的有点不一样,但是也是看基础,就比如那个子网掩码的问题
面试官还是很nice的,提醒了我一堆东西,我感觉收获很多。
反问环节
感觉面试官人很好,我当时问了一下他,如果我进了公司成为正式员工,一般做什么工作。他的回答大概是,公司的工作比较多,看我的个人兴趣和能力,我Java和android做的比较多,应该是去做sdk和比较上层的东西。
后来他告诉我,这里的工作,九成都是用c++,问我这个方面有没有问题。当时我心里觉得还是有些挑战,但是为了面试可以顺利一点还是说了没有。
受挫
一面体验还可以,感觉通过的可能性还是比较大的,但是万万没想到,居然挂了。
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
最后文末放上一个福利:GitHub地址
PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~
%AA%EF%BC%81.md)**
PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~
欢迎大家一起交流讨论啊~