Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.38 KB

腾讯面试题.md

File metadata and controls

41 lines (33 loc) · 1.38 KB

腾讯面试题

一面

  1. 为什么要设计Cache?Cache分级有什么好处?
  2. 如何保证多核数据的一致性?
  3. c++ new 和 malloc 有什么区别?
  4. c++ 可不可以多继承?
  5. c++ 引用和指针的区别?
  6. 如何判断两个链表是否有交点?
  7. 堆区和栈区有什么区别?为什么要这么设计?
  8. 给栈增加一个Max函数接口,返回当前栈的最大值,应该如何设计?
  9. 给定排好序的整数数组array[]以及整数n,如何找出和为n的两个数?
  10. 如果没排好序呢?
  11. 一个字符串,如何找出只出现一次并且最先出现的字符?

二面

  1. 反转字符串
  2. 判断整数是否为$$2^n$$
  3. 一个m*n的棋盘,有些格子不能走,如何找到左上角到右下角的最短路径?
  4. iOS 按下 Home 键之后会发生什么?
  5. c++中内存分配是怎样的?
  6. c++中常用的容器有哪些?
  7. queue和vector有什么区别?
  8. vector底层是怎么实现的?
  9. TCP三次握手?为什么两次不行?
  10. 项目中有没有服务器push机制?

个人答案

1.2

参考MESI协议

2.2

m & (m - 1) == 0,则m是2的n次方

2.4

转自 Rickey-iOS-Notes