腾讯Android开发实习生提前批面经 3.25
一面 42min 电话面试 ***
- 项目经历,开发中遇到什么问题,最后怎么解决的
- TCP三次握手,拥塞控制
- 一面更多的是聊项目,面试官没有问太多基础的知识,面试官主要是在我介绍自己项目的时候切入问问题,整个过程氛围很开心。
二面 45min 视频面试 3.21
- 安卓的设计模式有没有了解,工厂模式之类的
- IPC,多线程
- hashmap相关
- 扩容因子
- hashmap与hashtable区别
- hashmap重写了equals方法但是不重写hashcode方***怎么样
- haspmap查找的时间复杂度,可不可以优化
- 我说把链表改成双向链表,还可以改成avl树,b树,b+树,减少查找的时间复杂度。
- 计网三次握手,四次挥手
- 两道算法
- 一个简单博弈问题,两个人分别选择最大的数直到选完,求最后两个手上数的和之差,实际上是排序就行了,重点在排序算法的选择,可以直接用C++的sort函数,我自己手写了归并排序来用。
- 提供一种大小为N的CD,还告诉你有两种大小A,B的歌,每种歌的数量也告诉你为x,y,往CD里放歌,尽量利用CD的空间能放多少放多少,每首歌不可拆分放,可用的CD总数不限,求有多少种排列方式。最后理了思路,就是用递归就行了。
- 项目相关,开发中遇到的问题及解决办法
- 问面试官问题,问的是面试官您认为哪些能力是更重要的,面试官说是基础更重要——数据结构,计网,算法。
三面 2h10min 视频面试 3.25
- 操作系统相关知识
- 栈内存,堆内存
- 进程,线程
- 竞争
- 计网
- TCP三次握手
- TCP拥塞控制
- 浏览器访问网址,具体发生了什么
- DNS协议怎么工作的
- 安卓相关知识
- activity生命周期
- 为什么要有任务栈,任务栈有什么作用
- viewholder的作用
- view绘制过程
- view,window和activity之间的区别
- OOM什么情况会发生,怎么解决
- 两道算法题
- a[100]中逐个填1~100的随机数,且不能重复
- 大数相乘
- 项目经历,开发中遇到的问题及解决办法
- 谈谈你的优点
- 你之前腾讯面试失败,是为什么,那两道题为什么没做出来
- 那道题是输入一个字符串,从中删除n个字符,剩下的字符构成回文串,求n的最小值,确实难;另一题是无权图中两点最短路径,思路很简单就是BFS
- 最后问问题环节
- 第一个问题问的依旧是,面试官您认为哪方面的能力或者是能力更重要,面试官说基础,操作系统,计网,数据结构算法这些。其实我的操作系统真的不够好,这次面试最大的问题就是这个了。
- 最后问了面试官才知道,是QQ部门的。。。