(面经)2020年腾讯暑期实习

一直以来梦想的公司

面试过程比较正常,就是面试官有时会鸽,每两面之间时间间隔比较长

一面

以理论知识为主~~~

  • 自我介绍
  • C++和C语言有什么不同
  • C语言的struct和C++的struct有什么不同
  • C语言如何实现重载和多态?
  • C++和C语言在编译的时候有什么不同
  • C++的内存分布有哪些
  • 栈区和堆区分别有多大?可以让他们相等吗?
  • 如何阻止C++创建栈对象,只允许创建堆对象?
  • 请你描述一下read()是如何从磁盘读取文件到内存的?
  • 文件描述符在操作系统是如何管理的?为什么可以找到对应的缓存区?
  • 文件系统在操作系统是如何管理的?
  • 进程间通信方式
  • 管道最大可以达到多少?
  • 子进程会继承父进程的什么?锁关系会继承吗?
  • 什么是僵尸进程
  • 进程和线程的区别?什么时候适合多进程,什么时候多线程?
  • 说出linux的5个指令
  • 数据库的ACID
  • mysql是如何实现事务的原子性的
  • mysql的主从分离?
  • 四次挥手及状态
  • 输入url的具体过程
  • QQ是基于什么协议的,为什么?
  • 如何保证udp的可靠性?
  • 最小栈问题(一开始回答空间O(2n)的,问空间能不能优化)
  • 用有序链表能实现最小栈吗
  • 给你2.5亿个数字,如何找到其中重复的那个,数字大小不限制?
  • 给你一个点分十进制的ip字符串,转换为一个整数

二面

感觉这面以代码能力为主

  • 项目
  • 负载均衡实现方法
  • (手撸)找出数组中重复的字母
  • (手撸)链表反转
  • (手撸)迭代式的前序遍历
  • 智力题,5升和3升的桶怎么倒出4升的水
  • 智力题,100个球,2人轮流行动,每次拿1~5个,有必胜策略吗

三面

  • 你熟悉计算机基础知识的哪方面(回答的计网)
  • 为什么项目中要用epoll
  • 详细讲一下C/S模式中的通信流程
  • 使用的epoll的哪些函数,怎么封装的
  • 怎么实现一个栈
  • 又是最大栈问题!!!
  • 了解redis吗
  • 有1000万条数据在内存中,怎么O(1)找出要的数据
  • 如果内存不足以放下1000万条,采用LRU算法,怎么设计

hr面

hr是个小哥哥

没怎么问问题,就主要是聊天了