我投的终端软件,隶属于3G产品部门。很遗憾,止步于2面。2面的知识点太广泛了,确实没有想到知识点那么广泛。
腾讯的笔试题目比较基础
具体的题目记不清除了,设计到的知识点:
1.c语言基础:sizeof,strlen的用法。
2.linux基本命令umask
3.SQL语言
4.数据结构的知识,建立二叉树,顺序表操作的复杂度
5.操作系统的知识:通过页表确定物理地址,死锁(说有6个进程,每个进程需要5个同样资源才能运行,问系统中至少要几个资源才能保证不出现死锁?),页换出次数(使用LRU),文件访问索引,阿姆达尔定律的计算问题
6.网络的知识:TIME_WAIT
大题:
(1)使用非递归的归并排序链表
(2)最短路径Floyd算法。
腾讯面试:
糟糕的一面:
(1)合并两个数组,只要使用一个额外的空间
(2)讲项目,画项目的框架图。讲讲最难的地方?
(3)Android系统进程间通信的方法
(4)什么是AIDL?
(5)讲了讲Handler机制,感觉自己很混乱
(6)Android系统的体系结构
(7)Java有没有unsigned?
(8)有没有用过给android的apk文件加密;如何防止被反编译?
(9)懂不懂数据库?
(10)网络编程?TCP和UDP的不同。
糟糕的二面
操作系统开始
(1)进程与线程的区别
(2)生产者消费者模型,最好用语言实现
(3)编译型语言和解释性语言的区别
(4)你知道那些动态语言
(5)如果要你自己实现编译器,你会这么做?
(6)Java语言检查中的,跟编译器检查相关的动作?Java为什么要编译成字节码?
(7)Linux下查看进程的命令?
(8)敏感词过滤系统,怎样屏蔽关键字?
(9)数据库的知识?SQL语句问得我自信都没了。早知道就说没有学过数据库了。怎么数据库设计索引?
(10)Java创建线程的方法?
(11)函数指针和指针函数的区别?C++深拷贝和浅拷贝的区别?如果要delete一个浅拷贝,要注意什么?
对移动互联网的看法?未来的发展?