找工作面试题记录与参考资料(Golang/C++/计算机网络/操作系统/算法等)
记录下去年(2020年)找工作的面试题及参考资料。
C++
- 智能指针的实现原理
- 多态的实现原理[2]
- C++11/14/17新特性[3]
- 手写memcpy和memmove[4]
- 介绍下boost库
计算机网络
- nagle算法[5]
- time_wait过多怎么解决[6]
- close_wait过多怎么解决[7]
- 拥塞算法[8]
- HTTPS执行过程[9]
- TCP 状态机[10]
- Dijkstra算法[11]
- 介绍tcp no delay[12]
- HTTP2.0[13]
golang
- sync once实现
- waitgroup实现
- nocopy[14]
- mutex设计思想[15]
- mutex实现与演进[16]
- 为什么锁不能复制[18]
- silce实现[20]
- atomic实现
- goroutine大致原理
- goroutine调度
- 垃圾回收
- 内存分配
计算机基本概念
- 为什么计算机用2的补码[21]
- 浮点数如何存储[22]
操作系统
- 多核CPU如何进行数据同步[23]
- 什么场景使用自旋锁[24]
- epoll[25]
- cpu 伪共享[26]
- 线程同步[27]
- 进程同步[28]
- CAS原理[29]
- 内存屏障[30]
- 伙伴系统[31]
- epoll[32]
- epoll 边沿触发和水平触发[33]
- cpu load average[34]
- 进程有哪些不同状态
- 为什么L1 cache比L2 cache快
- I/O多路复用,这个复用指的是什么[35]
算法
- treap树
- 红黑树
- LRU[36]
- LRU-K
- innodb lru[37]
- bloom filter[38]
- cuckoo filter[39]
- KMP算法
- LSM tree
- 排序算法[40]
- AVL树[41]
- 快速排序[42]
- 时间复杂度LOGN指的是什么[43]
- 堆排序[44]
- 大数排序 TOPN[45]
- HashedWheelTimer[46]
- geohash[47]
- m*n棋盘,多少种走法[48]
- 倒排索引
- mark-sweep垃圾回收算法[49]
- 两个栈实现一个队列[50]
- 单调栈[51]
- trie树[52]
- 单链表合并[53]
- 删除链表倒数第K个节点
- 线段树
- 合并二叉搜索树[54]
- 倒排索引 如何merge返回结果
- 找出无序数组的中位数[55]
redis
- rehash[62]
- kedis codis[63]
- 跳跃表[64]
- ziplist[65]
- zset[66]
- 如何保证数据不丢失 AOF RDB[67]
其他
- 分布式事务[56]
- 限流算法[57]
- 一致性hash[58]
- zookeeper[59]
- zookeeper选举
- CAP[60]
- 如何判断死锁存在
- 朋友圈设计[61]
当时查的资料备份:
[2]
多态的实现原理: c++中多态的实现原理?
[3]
C++11新特性: C++开发者都应该使用的10个C++11特性 - DoubleLi - 博客园
[4]
memory-copy是什么: memcpy、memmove、memset及strcpy函数实现和理解 - 狸猫酱 - 博客园
[5]
nagle算法: TCP的Nagle算法与ACK延滞算法
[6]
time_wait过多怎么解决: TCP 的那些事儿(上) | 酷 壳 - CoolShell
[7]
close_wait过多怎么解决: 浅谈CLOSE_WAIT | 火丁笔记
[8]
拥塞算法: TCP的流量控制和拥塞控制_流浪的虾壳-CSDN博客_tcp流量控制
[9]
HTTPS执行过程: SSL/TLS通信 · Issue #31 · zhangyachen/zhangyachen.github.io
[10]
TCP 状-态机: TCP 的那些事儿(上) | 酷 壳 - CoolShell
[11]
Dijkstra算法: dijkstra算法:寻找到全图各点的最短路径
[12]
tcp no delay: TCP中的NO_DELAY_Spground-CSDN博客
[13]
HTTP2.0: HTTP/2 相比 1.0 有哪些重大改进?
[14]
nocopy: https://medium.com/@bronzesword/ ... nd-how-12396c31de47
[15]
mutex设计思想: gnehsbc:一份详细注释的go Mutex源码
[16]
mutex实现与演进: GO: sync.Mutex 的实现与演进
[17]
mutex详细源码注释: sync.mutex 源代码分析
[18]
为什么锁不能复制: https://eli.thegreenplace.net/20 ... ying-mutexes-in-go/
[19]
结构体方法使用使用value和pointer: https://golang.org/doc/faq#methods_on_values_or_pointers
[20]
silce实现: 深入解析 Go 中 Slice 底层实现
[21]
为什么计算机用2的补码: 关于2的补码 - 阮一峰的网络日志
[22]
浮点数: 关于浮点数的几个有意思的例子 · Issue #131 · zhangyachen/zhangyachen.github.io
[23]
多核cpu和内存数据如何更新: 一篇文章让你明白CPU缓存一致性协议MESI
[24]
[25]
epoll: hechen:一文看懂IO多路复用
[26]
cpu 伪共享: https://colobu.com/2019/01/24/ca ... -performance-in-go/
[27]
线程同步: 进程同步和线程同步概述 - 云+社区 - 腾讯云
[28]
进程同步: 进程同步和线程同步概述 - 云+社区 - 腾讯云
[29]
CAS原理: 程序员囧辉:面试必问的CAS,你懂了吗?
[30]
内存屏障: https://zh.wikipedia.org/wiki/%E ... 8%E5%B1%8F%E9%9A%9C
[31]
伙伴系统: 伙伴分配器的一个极简实现 | 酷 壳 - CoolShell
[32]
epoll: Dreamgoing:深入理解 Epoll
[33]
epoll 边沿触发和水平触发: Dreamgoing:深入理解 Epoll
[34]
cpu load average:
http://www.ruanyifeng.com/blog/2
... rage_explained.html
[35]
I/O多路复用,这个复用指的是什么: hechen:一文看懂IO多路复用
[36]
LRU: 聊聊缓存淘汰算法-LRU 实现原理
[37]
innodb lru: InnoDB 缓冲池LRU策略及关键特性
[38]
bloom filter: golang bloom filter实现
[39]
cuckoo filter: Cuckoo Filter:设计与实现 | 酷 壳 - CoolShell
[40]
排序算法: 算法设计:两种快速排序代码实现 - Sunrise_1018 - 博客园
[41]
AVL树: AVL树的旋转图解和简单实现_喵了个呜的博客-CSDN博客_avl树旋转
[42]
快速排序: [图解] 快速排序
[43]
时间复杂度LOGN: 时间复杂度 O(log n) 意味着什么?
[44]
堆排序: 图解排序算法(三)之堆排序 - dreamcatcher-cx - 博客园
[45]
大数排序 TOPN: 如何在10亿个整数中找出前1000个最大的数(TopN算法)_chikoucha6215的博客-CSDN博客
[46]
HashedWheelTimer: 大批量定时任务管理利器HashedWheelTimer - 二两豆腐的个人空间 - OSCHINA - 中文开源技术交流社区
[47]
geohash: GeoHash算法原理及实现方式_universe_ant的博客-CSDN博客_geohash算法
[48]
m*n棋盘,多少种走法: 计算n x m的棋盘格子的走法_牛客博客
[49]
mark-sweep垃圾回收算法: 标记、清除算法是如何处理循环引用?_DontesMore的博客-CSDN博客
[50]
两个栈实现一个队列: https://www.cnblogs.com/wanghui9 ... /11/22/2259391.html
[51]
单调栈: LeetCode-739.每日温度 || 是与非博客
[52]
trie树: Trie树(字典树,单词查找树)_forever_dreams的博客-CSDN博客_单词查找树
[53]
单链表合并: 8.合并两个有序的单链表,合并之后的链表依然有序【出现频率高】 - 薇薇一笑g - 博客园
[54]
合并二叉搜索树: 二叉查找树中的插入查找和删除_naget的博客-CSDN博客
[55]
找出无序数组的中位数: 找出一个无序数组的中位数_u010325193的博客-CSDN博客_数组找中位数
[56]
分布式事务: 分布式系统的事务处理 | 酷 壳 - CoolShell
[57]
限流算法: 不得不谈的限流算法
[58]
一致性hash: 一致性hash · Issue #74 · zhangyachen/zhangyachen.github.io
[59]
zookeeper: zookeeper的作用
[60]
CAP: CAP原理_爱琴孩的博客-CSDN博客_cap原理
[61]
朋友圈设计: 微信朋友圈是怎么做的架构?
[62]
rehash: 渐进式 rehash - Redis 设计与实现
[63]
kedis codis: redis集群之Codis - 不懒人 - 博客园
[64]
跳跃表: Redis 为什么用跳表而不用平衡树?
[65]
ziplist: redis zset底层实现原理
[66]
zset: redis zset底层实现原理
[67]
如何保证数据不丢失 AOF RDB: redis持久化的几种方式 - 仗剑走天涯| - 博客园
(完)
**朋友们可以关注下我的公众号,获得最及时的更新:**
![image](https://user-images.githubusercontent.com/14103319/92430320-11583200-f1c7-11ea-940d-1e297d2f394b.png)
找工作面试题记录与参考资料(Golang/C++/计算机网络/操作系统/算法等)的更多相关文章
- 2017、2018面试分享(js面试题记录)记得点赞分享哦;让更多的人看到~~
2017面试分享(js面试题记录) 1. 最简单的一道题 '11' * 2 'a8' * 3 var a = 2, b = 3; var c = a+++b; // c = 5 2. 一道this的问 ...
- 数据结构和算法(Golang实现)(20)排序算法-选择排序
选择排序 选择排序,一般我们指的是简单选择排序,也可以叫直接选择排序,它不像冒泡排序一样相邻地交换元素,而是通过选择最小的元素,每轮迭代只需交换一次.虽然交换次数比冒泡少很多,但效率和冒泡排序一样的糟 ...
- 数据结构和算法(Golang实现)(21)排序算法-插入排序
插入排序 插入排序,一般我们指的是简单插入排序,也可以叫直接插入排序.就是说,每次把一个数插到已经排好序的数列里面形成新的排好序的数列,以此反复. 插入排序属于插入类排序算法. 除了我以外,有些人打扑 ...
- 数据结构和算法(Golang实现)(23)排序算法-归并排序
归并排序 归并排序是一种分治策略的排序算法.它是一种比较特殊的排序算法,通过递归地先使每个子序列有序,再将两个有序的序列进行合并成一个有序的序列. 归并排序首先由著名的现代计算机之父John_von_ ...
- 数据结构和算法(Golang实现)(24)排序算法-优先队列及堆排序
优先队列及堆排序 堆排序(Heap Sort)由威尔士-加拿大计算机科学家J. W. J. Williams在1964年发明,它利用了二叉堆(A binary heap)的性质实现了排序,并证明了二叉 ...
- 数据结构和算法(Golang实现)(26)查找算法-哈希表
哈希表:散列查找 一.线性查找 我们要通过一个键key来查找相应的值value.有一种最简单的方式,就是将键值对存放在链表里,然后遍历链表来查找是否存在key,存在则更新键对应的值,不存在则将键值对链 ...
- 数据结构和算法(Golang实现)(27)查找算法-二叉查找树
二叉查找树 二叉查找树,又叫二叉排序树,二叉搜索树,是一种有特定规则的二叉树,定义如下: 它是一颗二叉树,或者是空树. 左子树所有节点的值都小于它的根节点,右子树所有节点的值都大于它的根节点. 左右子 ...
- 数据结构和算法(Golang实现)(29)查找算法-2-3树和左倾红黑树
某些教程不区分普通红黑树和左倾红黑树的区别,直接将左倾红黑树拿来教学,并且称其为红黑树,因为左倾红黑树与普通的红黑树相比,实现起来较为简单,容易教学.在这里,我们区分开左倾红黑树和普通红黑树. 红黑树 ...
- golang实现文字云算法
golang实现文字云算法 项目链接 https://github.com/bangbaoshi/wordcloud 效果图 测试步骤如下 git clone https://github.com/b ...
随机推荐
- kubernets之节点和网络的安全保障策略
一 在pod中使用宿主节点的命名空间 1.1 在pod中使用宿主的网络命名空间 [root@node01 Chapter13]# cat pod-with-host-network.yml api ...
- 修改conda和pip源
修改conda源为中科大源 Windows修改C:\Users\user(user替换为当前登陆系统的用户)目录下的.condarc文件 Linux修改家目录下的.condarc文件 channels ...
- [APUE] 文件 I/O
文件操作相关 API:open, read, write, lseek, close. 多进程共享文件的相关 API:dup, dup2, fcntl, sync, fsync, ioctl. 文件操 ...
- [系列] Go - 基于 GORM 获取当前请求所执行的 SQL 信息
前言 为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间: 执行 SQL 的文件地址和行号: 执行 SQL ...
- Nginx的简介和使用nginx实现请求转发
一.什么是Nginx Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为H ...
- 大促密集,CDN如何保障电商体验如丝般顺滑?
简介: 前不久,阿里云技术天团空降CSDN在线峰会,对核心技术竞争力进行解读.其中,阿里云高级技术专家曾福华分享了<双11: CDN如何保障电商大促如丝般顺滑>的议题.俗话说:养兵千日,用 ...
- Python攻城——查看,生成幫助文檔
1. python在控制台中查看文檔 1 python -m pydoc 模塊名 2. pydoc生成HTML文檔 1 python -m pydoc -w 模塊名 1 python -m pydoc ...
- Python+Selenium+Unittest实现PO模式web自动化框架(7)
1.TestDatas目录的功能 TestDatas目录下存放的是测试数据,比如:登录功能的测试用例数据. # --^_^-- coding:utf-8 --^_^-- # @Remark:登录测试数 ...
- MFA
什么是 MFA?_启用和解绑MFA_账号常见问题_账号管理-阿里云 https://help.aliyun.com/knowledge_detail/37215.html
- 监听套接字描述字 已连接套接字描述字 和打电话的情形非常不一样的地方 完成了 TCP 三次握手,操作系统内核就为这个客户生成一个已连接套接字
1. accept: 电话铃响起了-- 当客户端的连接请求到达时,服务器端应答成功,连接建立,这个时候操作系统内核需要把这个事件通知到应用程序,并让应用程序感知到这个连接.这个过程,就好比电信运营商完 ...