腾讯面试小记

实验室一万年不开一次会,偏偏今天要开会,而且时间和面试的时间还是冲突的,不管了,果断去面试。

路上的各种情况按下不表。

908房间,进去是一个30左右的小伙,人很和善。

首先他做了自我介绍,我紧张的还以为是要我做自我介绍(汗)。他是腾讯浏览器开发方面的,主要是移动端的浏览器。他们只负责招聘,具体岗位到了公司再说。

完了让我做一个自我介绍。


 

正式面试开始

以下是我记得的一些问题。

1、指针和引用的区别是什么?

  • 非空区别。引用不能指向空值得引用,而且引用在定义的时候就进行初始化。指针则可以指向空值,即不指向任何地址。
  • 合法性区别。在使用引用之前不检测它的合法性,而指针则应该总是被测试,以防为空。
  • 可修改区别。指针可以修改指向另一个对象,而引用总是指向初始化时被指定的对象,不能改变。
  • 应用区别。在以下两种情况使用指针:①考虑存在不指向任何对象的可能②需要在不同时刻指向不同的对象。

2、int const *p const;这句语句的含义。

  const放在p前与放在p后意义一样。

3、C++的模板有什么作用?

  模板可以实现类型的参数化,实现代码的重用。可以分为函数模板和类模板

4、数组和链表的区别

  • 空间上。数组是连续存储的,链表是在动态内存中随机分配的
  • 时间上。数组中的任意元素都可以在O(1)的时间内直接存储访问,链表则需要从头开始遍历。
  • 数据操作。数组元素的插入和删除平均要移动半个数组大小的元素,链表只需要修改指针

5、一个单链表如何最快的找到它的中点元素

  设立两个指针,*p,*q,p每次移动两个位置,即p = p->next->next;q每次移动一个位置q = q->next;当p到达最后一个节点时,q就是中间节点了。

6、static的作用,static用在函数前面的作用呢?

  • 函数体内static变量的作用范围为该函数体,该变量只分配一次,下次函数调用时仍维持上次的值
  • 在模块内的static全局变量可以被模块内所有函数访问,但不能被模块外的其他函数访问
  • 在模块内的static函数只可被模块内的其它函数调用,这个函数的使用范围限制在声明他的模块内
  • 在类中的static成员变量属于整个类所共有,对类的所有对象共用一个值
  • 在类中的static成员函数属于整个类所拥有,这个函数不接受this指针,因而只能访问类中static成员变量

7、写代码:①计算一个二叉树的深度;②输出任意一个字符串的排列组合

8、TCP的三次握手

  • 第一次握手,建立连接时,client发送SYN包(syn=j)到server,并进入SYN_SEND状态,等待服务器确认
  • 第二次握手,server收到SYN包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),此时server进入SYN_RECV状态
  • 第三次握手,client收到server的SYN+ACK包,向server发送确认包ACK(ack=k+1),此包发送完毕,client和server进入ESTABLISHED状态,完成3次握手

9、Android的四大组件

  Activity、Service、Content Provider、Broadcast。

  这个题应该深入继续给他讲的,各个组件的作用以及特性。

10、Activity的生命周期

  onCreate->onStart->onResume->onPause->onStop->onDestroy

11、GET/POST    POST上传一个文件的时候,如何封包及实现

相关解释

12、栈溢出是为什么?

13、关注最前沿问题是在哪个网站或者什么的?

14、你觉得你现在用的浏览器有什么优缺点(这题应该是考察对产品的敏感)

15、你评论一下当前的最前沿技术或者发展趋势(这题应该是考察对新技术的敏感和热情)

总共面试了50多分钟。

 

posted @ 2013-04-19 18:19  大器天下  阅读(260)  评论(0编辑  收藏  举报