字节跳动面试,第三面挂了,这原因我服了,程序员进阶知识点
4.Java 异常体系(运行时与非运行时异常的区别)5.HashCode 与 equals 的区别 6.JVM 内存区域划分(程序计数器,虚拟机栈,本地方法栈,堆,方法区,运行时常量池)7.JVM 内存回收方法(判断对象是否已死<1 面那个问题>,新生代老年代的垃圾回收算法 8.哪些对象可以作为 GC Roots9.数据库中 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 了解的就不多,总之,我的表现我自己都看不下去了。
后面……没有后面了。性能优化真的是难到我了。
总结
####字节跳动的面试难吗?
我觉得字节跳动的面试并不难,虽然字节跳动考的有些东西与其他家的有点不一样,但是同样道理,都是看基础。就比如其他朋友反映的,面试中有时候会问到的子网掩码的问题。
那些大厂问来问去,还是那些换汤不换药的问题。
性能优化这个问题难吗?
其实,性能优化这个问题并不难,我当时在听完这位朋友的诉苦后整理了一份 APP 全方位性能优化的资料,顺便把他不熟悉的音视频开发模块的知识也进行了整理。
在这里,我附上当时发给这位朋友的这份资料的获取方式:【**[我的 GitHub](
最后
Android 学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。
常言:种一棵树最好的时间有两个,一个是十年前,另一个就是现在。
千里之行始于足下,愿你我共勉。
如果你觉得本文对你有帮助,请不要吝啬的给我一个免费的关注和赞吧。
评论