【转】腾讯、网易有道和阿里的笔试分享及自我总结
声明:本人Android移动开发岗
腾讯:考的很杂
选择题(25题不定项):考的包括:
编译原理两题,
计算机网络一两题(私网地址),
C++若干,
IOS开发一两题,
还有二叉树两三题,先后序遍历,求深度
jvm也有一题,
概率论一两题,
JavaScript一题,
还有C语言(包括指针数组,数组指针,指针函数之类的)也挺多的
更多的是看程序求输出。
大题:
1,10亿QQ号用Set和Vector两个容器来删除奇数号
2,猴子摘香蕉,一次可以摘一根或两根,求摘50根有几种摘法(斐波那契数列)
3,二分查找
4,malloc的内存free之后是否真的立即被os回收?
自我总结:知识面太窄,回去好好补!C++没学!找死!
网易有道:数据结构!数据结构!数据结构!数据结构!数据结构!
选择题:共3道:
1,又是C++!不会!乱选!
2,不记得了,想起再补
3,HTTP的无访问权限的头部返回码
简答题:共4道:
1,5个球,2个黑,3个红。一手下去抓两个,求抓到颜色相同的概率?
2, 有12个苹果,1只香蕉,分给3个小孩,每个小孩都必须最少分到一个水果,求能分多少种?
3,Java的sleep和wait的区别?
4,swap空间的作用?
编程题:(重头戏!)
1,a,b两条链表,每条链表组成一个数,求a-b得到的链表:如9->8->7和6->5->4,求987-654,得到3->3->3
2,移除二叉树的根,根用左孩子替代之。
智力题:
给定一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词,例如单词army和mary互为兄弟单词。现在给定一个字典,用户输入一个单词,如何根据字典找出这个单词有哪些兄弟单词?要求时间和空间效率尽可能的高?
自我总结:以为自己数据结构学好了,谁知被虐成渣了!还愣着干什么!赶紧刷Leetcode去!
阿里(在线笔试:选择40分钟+简答题80分钟):
选择题(20题单选):
前几题是概率题,
然后是C++特性!又是C++!
几题智力题,
UC打开Tmall经过的协议,
二叉树的深度范围
两个有序数组a和b,找出一个在a另一个在b数组的和的最大值的最佳算法复杂度
不记得了,记得再补上吧。
简答题(3题):
1.如何加快App的启动速度?
2.客户端开发不同于服务端开发的一个典型背景是,我们的程序将会运行在大量不同的设备上,带给我们很多底层执行环境上的约束,例如 Android生态中典型的碎片化问题。有的团队为此只适配主流机型,有的约束开发可以使用的API,有的干脆只为iOS平台开发。请在平衡用户体验与研 发成本之上,站在App设计和研发的角度,提出你的对策。
3.对于“卡顿”(特指不流畅动画),分析卡顿机理,并提出优化方案。
自我总结:概率问题,Android优化机制