360:
数据库相关
1.实际运用时建表的规范或者注意点
2.项目中的表的结构
3.主键和唯一索引的区别
算法题
1.随机数里选五个数字,随机组合起来两个数求相乘的最大值
场景题
1.任务调度问题(程序换出与换入、swap)
2.我这个队列只能并行五个任务,怎样保证多个任务到来时的调度处理?
如果大批量的客户端请求到来,你觉得你的项目会出现什么问题
3.怎么改进优化你的项目使得可以高性能(从每个模块)
4.举一个项目中遇到的问题
5.服务器这方面的存储,你怎么自己设计存储结构(来满足大型数据的的存储方面的要求)。
6.数据库的存储引擎
7.非聚集索引和聚集索引
8.事务特性、隔离级别
9.数据库的锁
10.具体讲一下项目中的多线程和多进程
11.topK、问我C++里的优先级队列底层
美团:
1、引用和指针的区别
2、staic关键字有什么作用
3、数组和链表有什么区别?
4、你是如何理解C++中的面向对象的?
5、覆盖和重写有什么区别?
6、对网络的了解?TCP的连接需要几次?为什么?两次或者四次行不行?
7、浏览器输入网址之后发生了什么?
8、ping 用的是什么协议?
9、讲一下sql的索引
10、手撕代码:二分查找
11、你对以后的个人规划是什么样的?对工作地点有没有什么要求?
12、如果你能进入一个开发团队,你会用多久的时间去适应代码规范等等这些?怎么去适应
二面:
1、手撕代码:
①[ 7 9 13 21 3 5] 查询8在数组里的位置
②用C语言的语法实现C++stl里面的string类
2、对于第一个代码详细解释下,为什么要这样做?时间复杂度是多少?
3、用C语言实现string类需要注意什么?
4、构造函数和析构函数可以用虚函数来写吗?为什么?
5、讲一下智能指针,weak_ptr用过吗?详细讲讲
6、DNS、HTTP、ARP都是哪一层的协议,挑一个你熟悉的讲一讲
7、TCP的三次握手和四次挥手详细的讲一讲
8、sql中如何插入一列数据
9、如何查看sql的运行状态
腾讯·
1.解释一个多态的具体思想,解释一下虚函数的继承方式?
2.使用很多模板的情况会出现什么情况?
3.为什么析构函数设为虚函数,构造函数可不可?
4.在派生类和基类中析构和构造的执行顺序?
5.new和malloc,delete和free的区别?调用两次delete会出现什么情况?
6.list的调用迭代器使用erase操纵引起的迭代器失效问题?
7.vector和list的优缺点,什么情况下使用vector和什么情况下使用list?
两个问题:
1.两个有序链表相加,存放在另一个链表中也是有序的?
2.一个数中1的个数?更简单的方法?
网络:
1.TCP的四次挥手?
2.接收方怎么知道发送过来数据的顺序?
3.TCP和UDP的区别?
4.为什么说TCP传输是可靠传输?
5.传输的大小的是怎么确定的?
6.拥塞控制?
网络:
1.http和https的区别?https在通讯之前的加密流程?
2.http的返回状态码,举例说明?应用层协议你知道哪些?
3.TCP你知道多少?
linux:
1.查看进程状态?
2.进程和线程的区别?
问题:
3.很多数中查找一个数怎么样才能更便捷
滴滴
1.上来就给我一段代码,让我看会回答代码后面的三个问题
2.合并两个有序链表(手撕代码,只可以用指针操作)
3.函数参数压栈的时候是自左向右还是自右向左
4.C++多态实现方式
5.STL中map的实现
6.红黑树查找的时间复杂度
7.哈希map和map的区别,使用场景
8.如果数据量比较多,时间都控制到4秒左右,应该使用哈希map还是map
9.哈希时间复杂度都是O(1)吗
10.哈希空间想要变大的时候,怎么办
11.使用哈希的时候需要注意哪些点
二面
1.自我介绍
2.介绍一下文件压缩的项目吧
3.有没有了解现在通用的压缩算法,比如gzip
4.压缩文件项目压缩完文件长什么样子
5.解压的时候是怎么做的
6.说我的项目只是压缩文件,如果让我压缩一个文件夹,应该怎么做
7.手撕代码,(1)数组先递增后递减,找最大值(然后问我需要多久写完)
(2)数组如果有重复呢
8.操作系统是怎么管理内存的
9.LRU是怎么实现的
10.进程和线程的差异
11.互斥怎么实现,你了解过哪些锁
12.互斥锁和自旋锁的区别
13.什么场景用互斥锁和什么场景用自旋锁
14.select,poll,epoll讲一下
15.非阻塞IO模式下,connect怎么和服务器建立连接
16.介绍一下实习
17.TCP,IP协议
18.TCP的拥塞控制讲一下
19.快重传是什么
支持一下吧!