烤面筋真好吃

C++相关:

1. C++11特性,lambta使用【底层实现】

2. stl容器相关 有哪些?(vector内存分配)

3. 如何检测内存泄漏(如果是你怎么实现)

4. 纯虚函数的定义

5. 智能指针、野指针


6. c++ 内存分配

C++内存管理(一)---进程地址空间和物理内存区别_董皓宇-CSDN博客


7.编译链接  具体做了什么

        预处理、编译、汇编和链接

a. 预处理【生成 .i 文件】

        “#define”删除,

        处理所有的条件编译指令,

        处理“#include”预编译指令,

        删除所有的注释“//”和“/* */”。

        添加行号和文件名标识

        保留所有的#pragma编译指令

b. 编译【生成 .s 文件】

        词法分析

        语义分析——静态语义(变量赋值),动态语义(除数为0)

        中间代码生成

        目标代码生成与优化【生成汇编语言】

c. 汇编【生成 .obj 文件,01序列 】

        汇编过程调用汇编器as来完成

d. 链接 

        链接的主要内容就是将各个模块之间相互引用的部分正确的衔接起来

        链接过程主要包括了地址和空间分配、符号决议和重定向

        符号决议:有时候也被叫做符号绑定、名称绑定、名称决议、或者地址绑定,

                           其实就是指用符号来去标识一个地址。

        比如说 int a = 6;这样一句代码,用a来标识一个块4个字节大小的空间,

        空间里边存放的内容就是4.

        

        重定位:重新计算各个目标的地址过程叫做重定位。


8. 快速排序实现


9.哈希表处理冲突-拉链法

        https://blog.csdn.net/fsfsfsdfsdfdr/article/details/82697289

        底层原理,hashmap

        

一般比较常用的方法有开放地址法:(内容来自百度百科) 
1. 开放寻址法:Hi=(H(key) + di) MOD m,i=1,2,…,k(k<=m-1),其中H(key)为散列函数,m为散列表长,di为增量序列,可有下列三种取法: 
1.1. di=1,2,3,…,m-1,称线性探测再散列;顺序查看表的下一单元,直至找到某个空单元,或查遍全表。 
1.2. di=1^2,-1^2,2^2,-2^2,⑶^2,…,±(k)^2,(k<=m/2)称二次探测再散列;在表的左右进行跳跃式探测。 
1.3. di=伪随机数序列,称伪随机探测再散列。根据产生的随机数进行探测。

2 再散列法:建立多个hash函数,若是当发生hash冲突的时候,使用下一个hash函数,直到找到可以存放元素的位置。

3 拉链法(链地址法):就是在冲突的位置上简历一个链表,然后将冲突的元素插入到链表尾端,

4 建立公共溢出区:将哈希表分为基本表和溢出表,将与基本表发生冲突的元素放入溢出表中。


10.结构体和共用体?

11. map底层实现


12. sleep和wait区别 

sleep() 和 wait() 的区别_yinhuanxu-CSDN博客_sleep和wait


13. 设计模式

单例模式 构造私有化。

        双 if lock锁(懒汉(线程安全问题)【第一次才判空】   

        (饿汉)  二者差异(时间、空间)   static non-local初始化问题  静态存储区

工厂模式

        简单工厂 、工厂方法、抽象工厂模式


14. 虚拟内存 

如何理解虚拟内存 - 知乎

1. 为什么不用物理内存

        a. 大小限制

        b. 空间利用率

        c. 读写安全问题

        d. 进程安全问题

        e. 读写效率问题

2. 核心概念

        虚拟页、页表(TLB)、页帧(物理页)、PTE

 

当一个进程试图访问虚拟地址空间中的某个数据时,会经历下面两种情况的过程:

  1. CPU想访问某个虚拟内存地址,找到进程对应的页表中的条目,判断有效位, 如果有效位为1,说明在页表条目中的物理内存地址不为空,根据物理内存地址,访问物理内存中的内容,返回
  2. CPU想访问某个虚拟内存地址,找到进程对应的页表中的条目,判断有效位,如果有效位为0,但页表条目中还有地址,这个地址是磁盘空间的地址,这时触发缺页异常,系统把物理内存中的一些数据拷贝到磁盘上,腾出所需的空间,并且更新页表。此时重新执行访问之前虚拟内存的指令,就会发现变成了情况1.

static关键字

voliate extern关键字

红黑树删除

Webrtc相关:

1. webrtc中 I帧 是什么策略

2. 你觉得最有成就感的事情是什么?

计算机网络:

tcp/ip 拥塞控制 (窗口)

快恢复快重传


从你打开网页输入百度,进行了什么?

1. 域名-IP【网页缓存、操作系统缓存、路由缓存、本地域名服务器、全球域名服务器】

2. TCP握手【3次握手、4次挥手】

3. http信息传输


tcp建立连接后,断开物理链接能恢复吗?

TCP链接之间的网络物理断开了然后有连上,这个TCP链接是否断开? - 知乎


HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

以下是 HTTP 请求/响应的步骤:

\1. 客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.baidu.com

\2. 发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

\3. 服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

\4. 释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

\5. 客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

  1. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2. 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
  3. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
  4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
  5. 释放 TCP连接;
  6. 浏览器将该 html 文本并显示内容;  

操作系统:

线程种类

你有什么好问题:

1. 公司对新人培养?

2. 团队氛围怎么样,责任心

3. 团队业务未来发展

4. 如果是一个对业务不熟练的人,有没有什么意见或者建议

5. 当时您选择这条赛道是处于什么原因?

6. 目前业务面临的挑战和短期目标是什么?

网络通讯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值