腾讯csig客户端一、二、三面

一面4.1

介绍项目

线程池设计,线程数怎么分配

性能瓶颈(可以使用协程对线程进行优化)

http响应过程使用mmap

json序列化如何实现,其他的序列化方式(如何对象持久化存储)

Redis中间件的作用

离线消息保存

如何保证消息发送成功(应用层消息确认机制)

C++的内存分区

new和malloc区别

指针引用的区别

智能指针

深拷贝浅拷贝

std::move 如何实现

vector内存分配方式

map的数据结构

const和define

如何理解线程安全

LRU缓存

TCP与UDP区别

拥塞控制

HTTPS加密

如何理解内存泄露,监控方式

web服务器优化空间

聊天消息按序显示怎么实现

手撕lc678

二面 4.3

介绍项目亮点

io多路复用

使用正则表达式的作用

正则表达式性能不太好,还有什么方式解析http请求报文

从源头开始将如何收到http报文然后进行解析(从二进制以及网络模型各个层讲)

怎么区分请求的body与头部

http是否使用数据压缩

动态增长缓冲区实现,是否进行内存复用(可以通过内存池的方式)

小根堆定时器(为什么不使用hashmap?这样查询不是更快吗)

同步/异步日志,阻塞队列的实现(使用mmap会更好)

线程安全问题

数据库连接池介绍

怎样提高数据库的查询速度(建立索引,为什么不使用红黑树)

为什么选用muduo库开发

登陆怎么保证密码不被窃取

账号密码怎么存(哈希加密)

聊天项目怎么设计的,代码设计上的考虑

TCP本身就是有序的,为什么还要加消息编号

平时写代码有没有遇到一些问题,怎么分析bug的

代码调试和日志调试哪个效率高(分布式系统选取日志调试)

做项目过程中遇到的难以解决的问题

coredump文件

lamda表达式(值捕获与引用捕获)

实现单例模式(其他的几种设计模式)

平时怎么学习

三面 4.10

拷打项目

分享几个比较好的点

如何评估QPS

web服务器的原理

线程数量

为什么使用线程池

mmap高性能的原理

数据库选取

TCP socket 和http关系

https如何保证安全传输

中间人攻击,https是否能防止中间人攻击

tcp三次怎样改成两次

多线程与多进程的使用场景

设计一个浏览器和迅雷下载器,选取多线程还是多进程

如何实现负载均衡

json序列化

redis作用

并发量较高的时候mysql会存在一定压力,如何解决(缓存)

redis高性能是如何实现的

redis持久化

项目里印象深刻的难点,如何解决

怎样学习

自我评价

#c++面试##腾讯##客户端#
全部评论
过了吗兄弟,我是被捞的,不是纯cpp,问的场景设计偏多,你这是项目里面用了才问的还是怎么?
点赞 回复 分享
发布于 04-14 13:41 湖北
佬,太强啦
点赞 回复 分享
发布于 04-14 22:27 广东
老哥二面变三面过了多少天哇
点赞 回复 分享
发布于 04-22 09:48 陕西

相关推荐

3 22 评论
分享
牛客网
牛客企业服务