For Interview
面试相关
xupeng1644
道阻且长,行则将至!
展开
-
面试之Boost
Boost常用的库很多都已经被包含到C++11、C++14或者C++17中了。这里还是按照Boost程序库完全开发指针的目录结构进行总结。常用功能库:关于时间的 chrono库, 已被加入C++11标准。关于随机数的random库,已被加入C++11标准。关于正则表达式的regex库,已被加入C++11标准。内存管理:包括智能指针scoped_ptr, 对于C++11中的uniqu...原创 2020-04-09 12:57:31 · 3586 阅读 · 0 评论 -
面试之C++11
C++11常用的新功能包括:语法糖:nullptr、auto类型推导、基于范围的for循环、列表初始化、Lambda表达式右值引用与移动语义智能指针并发处理nullptr C++11 nullptr被用来代替NULL,nullptr可以被装换成所有类型的指针,不能被装换成int型别,解决NULL被作为参数调用重载函数时的隐藏问题。auto类型推导 C++11 auto类型推导在定义...原创 2020-02-17 23:32:52 · 2748 阅读 · 0 评论 -
面试之网络编程总结
常见的IO模型有哪些?阻塞IO、非阻塞IO、信号驱动式IO、IO多路复用、异步IOIO多路复用技术有哪些?他们有什么区别?包括select、poll、epoll。epoll中水平触发与边缘触发的区别?以读而例,水平触发时,套接字接收缓冲区只要有数据,套接字可读。如果是边缘触发,套接字可读的条件必须是套接字接收缓冲区从无数据变成有数据。水平触发关注的是套接字缓冲区有数据,而边缘触发关注的是...原创 2020-02-14 22:45:43 · 1252 阅读 · 0 评论 -
面试之网络总结
网络相关的知识点比较多,也比较细。如果提及的话,需要对其细节有较为深入的理解才能自如回答。TCP/IP协议族和ISO的OSI七层体系的区别?待添加TCP与UDP的区别?TCP是有连接的字节流协议,UDP是无连接的数据报协议。因为发送数据之前需要建立连接,而UDP不需要建立连接,所以TCP是可靠的而UDP是不可靠的。TCP为了保持尽最大可能交付数据,采取的功能包括确认、超时重传、流量控制、拥...原创 2020-02-14 22:09:42 · 1393 阅读 · 0 评论 -
面试之设计模式总结
设计模式的分为三大类:创建型、结构性、行为型。创建型包括:简单工厂模式、工厂方法模式、抽象工厂模式,单例模式、原型模式,建造者模式。单例模式:单例模式算是重点。因为单例模式适用面广,且单例模式涉及到的知识点众多。例如:单例模式的实现要点有哪些? 构造函数私有;拷贝构造函数和拷贝赋值函数禁用;静态成员变量和静态全局访问函数。单例模式常见的实现方法有哪些? 有最简单的但是线程不安全的初...原创 2020-02-14 20:41:39 · 1508 阅读 · 0 评论 -
面试C++后台开发考察哪些问题?
今天晚上“高性能服务器开发”QQ群(群号:729995516,有兴趣的读者可以加一下)里面一名叫“成都-go-戒炸鸡”的群友提出了他最近面试的一些面试题,面试题内容个人觉得非常典型、也非常有代表性和针对性,故拿出来与大家分享一下,也感谢他的分享。成都-go-戒炸鸡说:“今天面试,我没答出来的有redis持久化机制,redis销毁方式机制,mq实现原理,c++虚函数,hash冲突的解决,mem...转载 2020-02-21 10:47:11 · 1631 阅读 · 0 评论 -
跳跃表原理
一、跳表的基本概念1、跳表的定义跳表(SkipList):增加了向前指针的链表叫做指针。跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。跳表在原有的有序链表上增加了多级索引,通过索引来实现快速查询。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。跳表是一个随机化的数据结构,可以被看做二叉树的一个变种,它在性能上和红黑树、AVL...转载 2019-11-08 17:31:36 · 6931 阅读 · 1 评论 -
详解布隆过滤器
今天碰到个业务,他的 Redis 集群有个大 Value 用途是作为布隆过滤器,但沟通的时候被小怼了一下,意思大概是 “布隆过滤器原理都不懂,还要我优化?”。技术菜被人怼认了、怪不得别人,自己之前确实只是听说过这个,但是没深入了解过,趁这个机会补充一下知识。在进入正文之前,之前看到的有句话我觉得说得很好:Data structures are nothing different. They ...转载 2019-11-05 09:38:15 · 1389 阅读 · 0 评论 -
C++ 设计模式详解
请看这个:C++ 设计模式转载 2019-10-24 09:43:19 · 1570 阅读 · 0 评论 -
C++ 设计模式之单例模式
动机保证一个类仅有一个实例,并提供一个该实例的全局访问点。 ——《设计模式》GoF在软件系统中,经常有这样一些特殊的类,必须保证他们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。所以得考虑如何绕过常规的构造器(不允许使用者new出一个对象),提供一种机制来保证一个类只有一个实例。应用场景:Windows的Task Manager(任务管理器)就是很典型的单例模式,...转载 2019-10-23 15:28:30 · 1449 阅读 · 0 评论 -
C++ 单例模式 模版类(Meyers‘ Singleton)
自己实现的Meyers’ Singleton的单例模式模板类。template<typename T>class Singleton{public: ~Singleton() = default; static T& getInstance() // Meyers' Singleton { static T instance; return ins...原创 2019-10-23 15:27:31 · 3081 阅读 · 0 评论 -
一致性哈希(hash)算法
一、算法背景一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 二、应用场景现在一致性hash算法在分布式系统中也得到了广泛应用,分布式系统中涉及到集群部...转载 2019-10-22 20:34:38 · 1570 阅读 · 0 评论 -
C++ 智能指针unique_ptr的简单实现
简单的实现了unique_ptr,包括如下成员函数:构造函数析构函数拷贝构造函数,禁用,不支持拷贝赋值函数,禁用,不支持reset():释放源资源,指向新资源release():返回资源,放弃对资源的管理get():放回资源,只是共外部使用,任然管理资源operator bool (): 是否持有资源operator * ()operator -> ()templa...原创 2019-10-22 19:14:01 · 4006 阅读 · 2 评论 -
C++ 内存对齐
C++ 内存对齐,看下面三篇文章:C++内存对齐总结vs2012编译器c++存储内存对齐情况详解c++中的内存对齐原创 2019-10-22 15:15:20 · 1473 阅读 · 0 评论 -
带你了解HTTP协议(二)
同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍。 一图看完本文一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计...转载 2019-10-18 17:06:15 · 1624 阅读 · 0 评论 -
带你了解HTTP协议(一)
本篇文章篇幅比较长,先来个思维导图预览一下。 一张图带你看完本篇文章一、概述1.计算机网络体系结构分层 计算机网络体系结构分层2.TCP/IP 通信传输流利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。如下: TCP/IP 通信传输流...转载 2019-10-18 17:04:00 · 2677 阅读 · 0 评论 -
一个Http请求的流程
1.一个Http请求的流程:DNS域名解析 –> 发起TCP的三次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如javascript、css、图片等) –> 浏览器对页面进行渲染呈现给用户举个例子在浏览器中输入w...转载 2019-10-18 10:33:00 · 1380 阅读 · 0 评论 -
DNS原理总结及其解析过程详解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-10-18 10:07:07 · 1694 阅读 · 0 评论 -
面试官,不要再问我三次握手和四次挥手
原创 面试官,不要再问我三次握手和四次挥手 置顶 ...转载 2019-10-17 09:45:25 · 1370 阅读 · 0 评论