面试题汇总

https://www.jianshu.com/p/dd4eca35f0bd
一轮面试
网络http get post区别
虚函数机制
虚函数干啥的
http和https的区别
ca证书机制
拥塞控制
进程 线程 协程
两道题:经典QQ号的存储+最大堆/最小堆的问题
深入说一个成就感的 项目 经验
ES了解吗,有遇到什么问题
技术栈

1.多态原理
2.vector、list、map容器使用的场景
3.AVL和 红黑树
4.快速 排序 讲原理 实现快排
5.MySQL两种引擎的区别
6.共享内存的进程间通信方式
7.C++和C语言的内存对齐
8.struct B {
char a;
short b;
int c;
char d;
};计算大小
9.
10.找到 二叉树 两个节点的最近公共祖先
11.类中的权限是咋实现的
12、C++强制类型转换(dynamic_cast,static_cast, const_cast, reinterpret_cast)

一.C++语言部分(带数据结构)
11.1.C++容器使用、底层原理、迭代器失效等问题
11.2.C++11新特性——右值引用、lambda表达式等、类的新增默认函数(移动构造函数)
11.3.语法方面——static关键字和const关键字的使用
11.4.结构体内存对齐——结构体(类)的大小
11.5.对象模型、多态原理
11.6. 二叉树 的一些知识——前中后层序遍历、还原 二叉树 、完全 二叉树
11.7.STL线程库里的锁讲一下

12.8STLset实现、 红黑树 能不能换成 哈希表
二. 项目
11.1.每个面试官问的深度都不同,主要就是想了解两件事,用到了哪些技术、是否真的是你自己做的、你自己是否还有想到一些优化的点吗
三.网络
11.1.TCP三次握手、四次挥手、TCP/UDP区别、套接字编程的一些接口函数等
11.2.HTTP描述一下——结构、状态码的描述、版本间的区别
11.3.DNS的解析流程、(浏览器输入url会发生什么)
11.4.一些相关 算法 ——快启动、慢增长;快速重传;拥塞控制;滑动窗口机制

12.5问了分布式系统
12.6HTTP和HTTPS的区别,是怎么加密的,依赖了什么
四.Linux方面
11.1.命令——sed、awk问的还挺多的,接下来就是进程信息的命令、CPU情况的命令、网络端口的命令
11.2.进程线程区别、进程间通信几种方式的描述等
11.3.vim会酌情问一些
11.4.几种多路转接模型的区别以及底层原理——select、poll、epoll;epoll的两种触发模式
11.5.死锁的含义、死锁产生的四个必要条件、死锁的产生原因、预防死锁的 算法 (银行家)、如何解除死锁、死锁的种类
11.6.用户态、内核态的区别与意义

12.7IO模型——阻塞、非阻塞;同步、异步的区别;甚至问到了在系统中内核一般用的是阻塞还是非阻塞
12.8死锁这块——死锁怎么排查(实践中)
12.9线程独有哪些东西,共有哪些东西
12.10描述进程地址空间的内容——分布情况
五.MySQL数据库方面
11.1.索引——主要就是种类和底层,一般会问到为什么是B+树而不是B树、非聚集和聚集的区别
11.2.MyISAM和InnoDB区别
11.3.事务的特性,事务的隔离级别
11.4.sql语句会问一些

12.5问到了事务的隔离级别是怎么实现的(MVCC)——(这一般都是二面或者三面才会问到的问题)

C++一面:

  1. 先问了大概30分钟的 项目
    2.C++
    问题一:空类占用的空间大小?为什么1字节空间?1字节空间里面存放的是什么?
    问题二:怎么让类只能在堆上生成实例,而不能在栈上生成?我答的把析构函数私有化,但是面试官好像并不满意。。
    问题三:struct 的对齐规则
    问题四:C++多态?静态多态怎么实现的。(以前从来没有思考过静态多态怎么实现的。。然后就没有反应过来this指针。。唉~)
    问题五:map用的什么数据结构?和unordered_map的区别?为什么有了unordered_map还要弄个map?unordered_map怎么解决冲突?开链解决冲突的话,如果 链表 过长应该怎么办呢?(跟我同学讨论,他说java是把 链表 变成 红黑树 。。我不了解,不过面试官也提示了,说知不知道java怎么处理,我说不知道,唉)
  2. 操作系统
    问题一:多进程和多线程,有什么优点缺点?
    问题二:进程打开一个文件,并读取数据的过程。
    问题三:线程之间的通信方式。(然后我回答到线程之间的同步方式了,不过我真的不知道线程之间怎么通信的,看书上讲都是可以直接进行通信的啊,然后我就跟面试官这样解释,然后面试官说知不知道消息队列。我就说我知道进程之间怎么用消息队列通信。。线程之间用消息队列我没有思考过。。)
  3. 计网
    问题一:讲讲socket建立通信的过程。(然后我就讲了socket的一下函数,不过我最近才刚看socket,就一点印象。。然后accept函数忘记讲了。。)
    问题二:服务端建立socket的时候,四元组有哪些是确定的,哪些不确定?
  4. 数据库
    一开始问我知不知道netty(貌似是这样吧。。),然后我说不太懂这个,我说我知道点mysql
    问题一:讲讲数据库数据恢复。(唉,这个点一直想看来着,当时就凉凉了,只能凭着一点映像说了点)
    问题二:MVCC(然后问了我readview的建立时间,我就按照网上的普遍说法回答了他,但是他好像觉得有问题,一直问我。。到最后问的我自己都含糊其词了。。)
    问题三:mysql是怎么建立网络连接的。(貌似是这个问题。。)(这个不懂)
  5. 你知道分布式技术?(不是很懂。。)
  6. 做 算法题
    题目一:最小栈,讲了思路,没写
    题目二:有2.5亿个数,其中只有一个数出现两次,其他的数都出现一次。在内存紧张的情况下,怎么找出这个重复数?
    题目三:IP地址转化为int型整数。
    所有左叶子节点的和
    合并有序链表-递归解法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值