先说下面试过程吧,下午3点准时qq视频面试,首先是常规的自我介绍,然后就让你介绍下现在做的项目经验,说了一下自己正在负责的项目之后就开始问一些项目上的细节,如项目的开发流程是什么样的如何确定需求-原型设计-正式开发交付之类的细节(聊完这个就感觉面试官开始轻藐了,基本礼貌还是接着接下去)然后就问下对单元测试的看法,我说很好用他觉得不好用,然后举证了下如网络请求,肯定是写单元测试的问了下怎么批量测量,回答是读文件的形式批量单元测试,然后追问有没有用过什么工具可以批量测试的(没用过)接着就问会不会kotlin,回答说现在都是用kotlin问了下单例的实现,直接说了kotlin的单例写法,并故意埋了一个坑,说了可以通过bylazy实现双重锁的单例(等追问原理结果他没有有)接下来就是问如何规范代码,除了命名习惯之外就是一些约束规范嘛(如阿里的java开发者手册),能做什么不能做什么,这个我没答上来,1.不规范都存在内存隐瞒的在编码阶段idea都能帮你找出来了2.像context不能乱持有之类的,都已经成习惯了一时半会没想起来之后便是场景模拟,让你刚上手如何快速修复一陀屎山的bug,如何快速定位,Android的常规做法是找到对应的页面定位相关的方法嘛,然后据面试官的意思,可以有相关的工具直接定位,不用看代码,wtf,可惜他没说是什么工具然后就是问了下进程间通信,如何在activity和service之间通信(广播,socket,aidl,全局变量等都行)https和http的差别,为什么https会更安全,证书校验过程tcp和udp差别,tcp如何保证可靠证,udp有什么优点,然后聊了下如何udp也能可靠(模拟tcp呗)最后扯到我们现在用的qq视频里面是什么协程(肯定udp,rtsp/rtmp之类的),然后解释了说了一些视频编码相关的(面试官懵了,没有视频编解码的知识),最后索性说我就认为他是tcp,你有什么证据说明他是udp,那就直接抓包看协议呗这个时候已经过去了37分钟,面试官问了下有什么了解跨平台的技术,flutter这些呗有没有用过(没有,你jd也没说这个是刚需)解释了下自己在学协程和视频编解码(解释说自己学习的东西会优先以工作为目标,现在项目后台跑了100多个线程需要优化和fpv相关的开发)然后,面试官表示协程是啥!?没听过那这...之后就立马结束话题说你想了解什么,聊了下加班情况就不耐烦让等通知了啊这,技术深度广度都没问,就问了些工作细节这不就应付了事么...然后面试官的知识广度也稍微差了点_(:з」∠)_
...查看全文