面试问题搜集及解析
计算机网络
TCP的报文格式
TCP/IP协议各层数据格式及首部含义
怎么在ipv4中找一个ip地址
Q:DDos攻击的原理介绍一下
A:emmm...listen有一个队列,处理连接请求。在收到匿名IP发过来的SYN之后,会在listen队列中存放一个记录,但是队列容量是有限的,当这样的恶意请求过多的时候,listen队列里就塞满了这些无效的连接请求,然后装不下更多的连接记录了,所以就拒绝其他请求了
操作系统&数据库
内核态和用户态的区别
多线程范围内的数据共享
死锁,如何解决死锁
多进程和多线程的使用场景
有哪些方法清除cache中旧的数据
SQL优化,有哪些优化方法
有名管道
select poll epoll的区别 底层实现原理
协程
怎么保证一个CPU只有一个线程运行
线程的基本组成是什么?
线程分配什么:tcb
线程有什么状态?运行挂起结束状态,有新生状态吗?新生(初始状态)状态?
多线程同步和互斥方法,内核态下有什么方法,回答三个:信号、互斥量、条件遍历
信号量是什么?信号量不是多个资源可以访问统一资源吗?多个时刻可以访问同一个资源
弱类型、强类型、动态类型是什么(C是什么类型的语言,属于动态语言还是静序算法,优点和缺点)
一范式二范式三范式是什么?
锁,可重入锁
线程同步的方式
27.内存分配原理
29.poll和epoll的区别
30.epoll中ET模式与LT模式的区别
31.数据库事务
44.epoll的水平触发和边缘触发
iOS相关
UIViewController的生命周期
析构函数,虚析构函数
hash
派生类中的构造函数执行顺序
字符串转double的代码
设计模式
hashmap原理
全局变量和static变量的区别.如果在两个.h文件中声明两个同名变量会怎么样? 如果使用extern 如果没有使用
汉诺塔
若汉诺塔的底盘有2种颜色,如何分离它们
给了数据流,求历史记录中的中位数(用2个优先队列)
用O(1)时间复杂度返回当前栈中最小元素
C语言中局部变量与全局变量在内存中的存放位置
类成员函数中重载/重写(覆盖)/重定义(隐藏)的区别
1000瓶水有1瓶水有毒,老鼠喝一滴就会死,但是需要一周毒发,请问最少需要多少老鼠多少时间才能找到那瓶有毒的水。
找出链表中环的入口节点
腾讯现场一面补充:
tcp的滑动窗口
udp怎样确保不丢包(kcp)
手写快速排序
腾讯现场复试补充:
加密算法(明文、暗纹、对称、非对称加密)
阿里一面补充知识点:
直播技术
酷家乐一面补充:
http协议
分词技术
分布式存储
WPS一面补充:
map的自定义key值怎样排序
函数栈帧
用C实现C++的特性
哈夫曼动态压缩
泛型编程
STL库常用接口
面向对象的特性
df底层/原理是什么,是干什么的,百分比计算是怎么算的
一个文件被删除了,没有被释放是什么原因呢?
给你一个50亿的整数让你找出中位数(分治法 和 位图法)
sql语句
二叉搜索树
密码加密MD5
N个红白蓝三种小球,乱序排在一起,两两交换,要求从左至右排序成红白蓝
二维数组,行递增从左至右,列从上到下递增,给一个数,求出该数的位置
线程同步的方式
B+树
如果一个函数传入一个对象,那么这是浅拷贝还是深拷贝?
如果使用的是引用或指针不会发生拷贝,如果传入的类没有实现拷贝构造函数则是浅拷贝,如果实现了拷贝构造函数则看实现的拷贝构造函数是浅拷贝还是深拷贝。
C语言里的指针是什么?
首先它是一个变量,里面存的是所指向的内部数据类型或对象的地址。取内容可以获得这个数据或对象。
实际上指针不一定是变量,也有常量指针,不过一般都说指针是指针变量的简称。所以上述表达没有什么问题。
形参实参的区别
形参指的是外部调用的时候传入的参数,实参是函数在处理内部所使用的参数
为什么C++开发时用来做基类的类的析构函数一般都是虚函数?
这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用。
1. sizeof和strlen的区别
28.AVL树、B+树、红黑树
32.
(1)多态性都有哪些?(静态和动态,然后分别叙述了一下虚函数和函数重载)
(2)动态绑定怎么实现?(就是问了一下基类与派生类指针和引用的转换问题)
(3)类型转换有哪些?(四种类型转换,分别举例说明)
(4)操作符重载(+操作符),具体如何去定义,?(让把操作符重载函数原型说一遍)
(5)内存对齐的原则?(原则叙述了一下并举例说明)
(6)模版怎么实现?
(7)指针和const的用法?(就是四种情况说了一下)
(8)虚函数、纯虚函数、虚函数与析构函数?(纯虚函数如何定义,为什么析构函数要定义成虚函数)
(9)内联函数(讲了一下内联函数的优点以及和宏定义的区别)
(10)const和typedef(主要讲了const的用处,有那些优点)
(11)排序算法有哪些?快速排序怎么实现的?最好时间复杂度,平均时间复杂度
(12)链接指示:extern “C”(作用)
33.c++中四种类型转换机制?
34.strcpy函数的编写?
35.虚函数,虚函数表里面内存如何分配
36.类的封装:private,protected,public
37.二叉树查找最近公共祖先
38.实现简单二叉树类,实现插入,删除和前中后序遍历
39.tcpdump
40.动态库和静态库的区别
网络:
TCP/IP协议各层数据格式及首部含义
操作系统:
C++:
Vector容量倍增
区别问题: