腾讯客户端一面
1、自我介绍
2、介绍一下第一个项目:手势识别
2、介绍一个第二个项目:头部动作识别
3、如何在项目中实现多线程的同步问题?
4、项目中的深度学习模型是你实现的嘛?
5、项目中遇到的主要难点是什么? 答:python运行环境部署、多线程的同步问题
6、如何在android中配置python的运行环境?
7、介绍一下死锁。
8、如何解除死锁?
9、手写一下死锁的案例。(忘记怎么写了,但面试官很好,给了我很多提示)
10、sychronize的原理
11、有了解过java中的自旋锁之类的吗?
12、tcp为什么是可靠的?
13、tcp如何防止数据被篡改?
14、讲一下https为什么能实现数据安全传输。
15、对称加密和非对称加密。
16、Tcp客户端和服务器端如何实现数据传输加密。
17、android中activity的四种启动模式。
18、activity间跳转有多少种形式?
19、介绍一下Handler机制。
20、算法:寻找数组中的第k大数据
(1)第一种方法:堆—>对应Java中的优先队列(面试官说我使用优先队列,不能体现出算法的特性,让我换一种方法,所以我想到了第二种方法部分快排)
(2)第二种方法:快速排序,快排的原理是每次确定一个base(基准数),找到这个基准数在数组中位置,所以可以联想到,当我们找到某个数在数组中序列就是k的时候,直接resutl就可以了,不用全部排序。
用第二种之后,面试官就给过了。
建议:
1、代码风格要改变一下。
2、复习一下基础知识。
3、去看一下https、多线程方面的知识。
4、感觉问的我都知道,只是没办法很好地主动说出来,建议我把自己知道的知识串联起来,面试的时候主动讲出来。
其他可能还问了一些,我有点忘了~~~
期待二面,去复习了~~~