赞
踩
各种排序的时间复杂度,空间复杂度,是否稳定,时间复杂度是否与初始序列有关?
查找:二分查找,lower_bound, upper_bound
分治与递归:逆序对数,大数相加,大数相乘
贪婪算法
动态规划:背包问题,找零钱问题,最长公共子序列(LCS)
BFS,DFS,最短路径(Dijkstra算法,Floyd算法)
字符串匹配算法:KMP算法,BM算法,Sunday算法
补充:Top-K算法,Bitmap算法, Bloom Filter算法,一致性哈希算法,8数码问题(A算法,B算法,IDA*算法)
介绍一下C++ traits的原理以及作用?
GDB 查看栈帧,寄存器的指令是什么?
GCC常用编译选项有哪些?作用分别是什么?
进程间通信有哪些方式?各种方式的区别?
项目的代码量有多大
shell熟不熟?
介绍一下进程间通信,说一下共享内存的原理;说一下信号量的种类,信号量和metux的区别。
手写代码:实现双向链表插入结点(自己定义结点的数据结构,用C语言实现)
为什么看Linux内核?
然后问项目中涉及到的技术:比如C++基础,STL, 进程间通信,多线程
C++中有哪些容器?vector,list,forward_list,stack,queue。set,map,unordered_set, unordered_map。
map底层是什么结构?hashmap底层是什么结构?hashtable的结构?
vector是怎么释放空间的?主要说上层应用
介绍一下进程通信的有哪些方式?介绍一下共享内存的引用场景?
手写代码:使用宏定义?完成注册回调函数,解绑回调函数,通过ID获取对应回调函数的宏。
手写代码:实现一个单例模式
计算一个类的的大小(虚函数,内存对齐)
介绍一下socket()。客户端和服务端进行连接过程调用的函数。当客户端与服务端进行tcp连接,服务端没有accept()时,两端会处于什么状态?
介绍一下你擅长的而且没有涉及到的方面以及有什么问题要问吗?
手写代码:用模板实现一个栈(内部使用动态申请的数组作为存储结构)。
hash table的结构?hashtable 和hashmap的区别?hashtable是线程安全的吗?
介绍一下红黑树的特点?介绍一下红黑树插入的一个结点的操作(单侧旋转,双侧旋转)?
TCP三次握手的过程?为什么会有第三次的确认报文?
手写代码:已知一个又向无环图,确定一个拓扑序列,用代码实现。
手写代码:单链表删除一个结点,只给出被删除的结点指针,写出代码。没有头结点可以吗?(剑指offer原题)
介绍一下https。http请求报文,应答报文中包含哪些信息?
手写代码:二叉树层次遍历。
手写代码:实现生产者与消费者问题。
手写代码:实现一个简单缓冲区。
设计一个缓存系统需要考虑什么问题?如何设计一个简单的LRU?
手写代码:实现一个LUR Cache get,put函数。说明数据结构
手写代码:字符串处理算法:abc–>abcd,abc(添加),abce(修改),abd(插入)。已知一个序列,判断最好的更改策略。说出基本思路,并用代码实现
介绍一下LRU的设计思路(笔试题内容)
信号量是什么?有什么应用场景?
虚拟内存的原理?虚拟内存的作用?
操作系统中进程的常见状态转换?
笔试题第二题的思路?已知一棵二叉树的结点信息,判断是否是BST?
TCP确认重传机制?拥塞控制的机制?
给你一个系统硬件资源足够多的系统,你认为最多能打开多少个浏览器窗口?(客户端socket数量限制,系统对创建进程的限制)
介绍一下项目:首先介绍空间配置器的原理?在堆中申请空间与申请失败使用第一级空间配置器的区别是什么?内省排序的原理?怎样判断递归深度?直接判断还是递归中判断?
介绍一下虚拟内存?当使用malloc函数时会发生调页操作吗?
介绍一下hashtable的原理?
设计一个LRU?
手写代码: 实现一个LRU的get,put函数
当在LRU的链表中使用生存时间时,怎么判定某个记录到期?(使用绝对到期时间:当前时间+生存时间)
先讲一下视频拼接?怎么解决拼接过程中的重复问题?使用的是CPU还是GPU?
线程同步的方法?条件变量了解吗?
TCP的拥塞控制?重传机制?
TCP和UDP的区别?UDP一对多的情况?什么情况下使用UDP?
ping,tracerout原理?怎样判断两个IP地址是否属于同一个网段?
路由器属于那一层?IP层的功能?
DNS原理?DNS是哪一层协议?什么时候使用TCP,什么时候使用UDP?
内存池了解吗?怎样实现向上取整成为8的倍数?
虚函数与纯虚函数的区别?应用场景?
private继承会怎样?
说一下单链表的特点?C++中什么容器和它对应?forward-list和list的区别?forward-list
容器中有size()函数吗?为什么?那些容器中内部结构是树型结构?
二叉树有哪些遍历方式?层次遍历使用什么数据结构实现?
递归知道吗?递归需要注意什么问题?伪递归知道吗?实现机制?
介绍一下虚函数表的内部实现?
定义一个空类,有构造函数吗?构造函数都做了什么?
手写代码:实现sqrt()函数,不能使用库函数。(Leetcode原题)
面试官说:看你比较了解C++,我就不问C++基础了,然后就直接问项目
项目遇到什么问题?怎么解决的?解决的效果如何?怎么想到这个解决方法的?
手写代码:实现一个栈(C/C++均可)
手写代码:实现二叉树的层次遍历
画出项目的大致框架?画出自己负责的模块的大致框架?为什么要这样设计?遇到什么问题?怎么解决的?
了解过什么开源项目?在github上提交过代码吗?
对设计模式了解吗?常用的设计模式有多少种?说一下常见的设计模式?
UML知道吗?能用UML绘制常用的设计模式吗?
介绍一下STL。STL空间配置器的原理?vector实现?hashtable内部实现?内省排序的原理?
B+树的原理?B树和B+树的区别?为什么MySQL使用B+树?
红黑树的特点?为什么使用红黑树?应用场景有哪些?红黑树的旋转(单侧旋转,双侧旋转)
进程间通信的方式有哪些?信号量的原理?管道原理?消息队列原理?
多线程同步的方式有哪些?条件变量用法?条件变量和信号量的区别?
Radis的特点?以及应用场景?常见的数据结构及特点?
C陷阱与缺陷 中主要讲了什么内容?简单介绍一下
看了那些Linux相关的书籍?简单介绍一下印象最深的一本
对存储过程了解吗?
计算类的空间大小?
写了个C++继承的例子,说一下删除基类指针调用了那些析构函数(主要考察虚析构函数的作用)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。