互联网公司笔试题
算法题
1. 给定一个树节点struct TNode{int key; TNode *LChild;TNode *RChild },补充完整函数bool IsBigRootHeap(str *T)的代码,使得传入一个根节点,判断它是否是一个大根堆。
2. 给出一个单词集合,如{student,stuff ,as ,asks},则stu 无法表示student 或是stuff ,而stud 则是student 的最小前缀,stuf 是stuff 的最小前缀,a 不能表示任何单词,而as 则是as 的最小前缀,ask 是asks 的最小前缀。设计一个算法,用来求单词集合里的单词的最小前缀,并分析它的时间复杂度和空间复杂度。
系统设计题
设计一个缓冲池,用于存放系统所需要的资源。满足如下要求:
(1)当读取缓冲池资源是,如果没有该资源,则创建该资源,放入缓冲池中。
(2)缓冲池可以存放各种形式的资源。
(3)要有刷新机制,当一个资源长时间没有使用时,要把该资源从缓冲池中剔除。
要考虑分配资源的合理性和时效性,缓冲池可以有的参数有最小资源数、最大资源数、timeout 等,重点描述一下缓冲池的刷新机制。
有一组数字,如[24,32,2,4,65,-3,0,2,...],和一个给定整数a 是否存在其中的一个或者几个数,它们的和等于a
请实现方法int findNInt(int *original,int count,int a),存在返回1,否则返回01. 有101个数,为[1,100]之间的数,其中一个数是重复的,如何寻找这个重复的数,其时间复杂度和空间复杂度是多少?
2.Java 中抽象类与接口的区别。
3. 进程与线程之间的联系与区别。(多家公司都在问,好好研究一下)
4. 谈谈对设计模式的认识与理解,简单介绍一下你所知道的设计模式。(多家公司都问,Android 方向面试必考的)
5. 线程、多线程相关(必问)
6.Linux 常用的命令,shell 编程,grep 命令的使用。
7. 海量数据查找或者排序,有资源限制要求。(常考的)
建议:简历中对自己的专业技能要实事求是的写,突出自己的重点,不宜托大,面试官面试时提问的依据就是简历上的内容。百度的工作环境很好,做技术的员工给人的感觉就是虽然人家的技术水平很高,但是都比较谦逊。百度确实是一个不错的互联网公司。
Sina 无线客户端开发工程师面试
笔试的题目和7月22日实习生的题目差不多。面试主要问了:
1. 二叉树的一些基础知识。
2.Java 多线程,对stop()方法的认识,如何安全的终止一个线程。
3. 设计模式相关的问题
4. 谈谈你对面向对象编程中继承的认识
5. 排序算法
网易2012校招无线客户端开发笔试,题目不太难,比较基础。
1. 面向对象编程中多态的概念,用伪代码展示出来。
2. 斐波那契数列编程,效率越高越好(详见《编程之美》2.9)
3.60W 长度为32的字符串一次性读入内存中,大约占用多少内存空间?
4. 一个X 向量n ,如何求其内部的最大距离。
5. 在浏览器中输入http://www.163.com,从输入到页面在浏览器中显示出来,期间发生了哪些过程,越详细越好。
6. 简单介绍一下Android 系统中的Activity,Service, Intent, ContentProvider 组件。
7. 编程解析一段josn 格式内容,并在界面上显示出来。
8. 英文阅读,考察英语能力。
9. 网络应用分析,发挥自己的主观能动性和积累。
搜狗2012校招笔试
搜狗的题目出的很全,所有职位的题目都在一份卷子上,涉及到数据结构、网络、操作系统、算法、软件工程等多方面,根据自己所投递的职位,有针对性的选择要答的题目即可。
金山2012校园招聘笔试
为了保险,做了运维的题目,难度不大,主要是网络和Linux 操作系统方面的,稍微准备一下即可。答题的时候自我感觉良好,结果没收到面试通知,被鄙视了,o(╯□╰)o
Android 开发工程师面试中经常会问到的问题
1.Activity 的生命周期(最基本的)。
2.Android 基本框架结构。
3.Android 终止一个进程的方法,如何彻底终止一个程序。
4. 如何改写程序,改变android 手机中返回键的功能(西安TCL 研究院技术面试)。