知识点罗列

13 篇文章 0 订阅

1、哈夫曼树
2、拓扑排序
3、二叉树层次遍历
4、进程锁产生的情况及如何解除
5、Linux为什么用多进程不用多线程
6、进程之间的通信
7、线程之间的同步
8、双向链表插入删除
9、排序
10、IO复用
11、shell脚本
13、TCP、HTTP抓包并分析
14、C11特性
15、内存对齐的存储方式
16、C++从写代码到运行的过程
17、队列和栈的运用场景
18、什么情况导致栈溢出
19、时间复杂度和空间复杂度计算
20、数组实现二叉树
21、哪些数据结构能用二分
22、红黑树
23、僵尸进程
24、进程有哪些状态
25、在切换应用时有的应用时间间隔长,为什么时间不一样
26、多态的特点
27、怎么用多态
28、路由和交换有什么不同
29、路由表有什么作用
30、GCD
31、C++有几种内存
32、程序有几种运行模式
33、返回一个数组的最大的两个数
34、面向对象和面向过程的不同
35、int 转 char 输出结果
36、C++中有哪几种传参方式
37、虚函数表怎样实现运行时多态的
38、STL的实现原理(尽可能多的去了解)
39、STL迭代器
40、MFC
41、动态链接库和静态链接库
42、如何保证头文件只被调用一次(除#pragam once)

#ifndef __TEST_H__
#define __TEST_H__

//your code

#endif

采用条件编译的方式,当第一次引入TEST_H时,编译器会检测到TEST_H还没有被定义,那么就会执行下面的内容;当再次引入,就会检测到已经定义了TEST_H,那么此时就不会执行下面的内容,这种采用宏定义的处理,可以很有效的避免发生这种错误。

#pragma once

//your code

这是一种由编译器提供支持的方式,防止同一文件的二次编译,这里的同一文件指的是物理文件(实实在在存在的文件)。

两种方式的对比:

#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心相同时,可能就会导致头文件明明存在,编译器却硬说找不到声明的状况。

#pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处是,你不必再费劲想个宏名了,当然也就不会出现宏名相同引发的奇怪问题。对应的缺点就是如果某个头文件有多份拷贝,此时就不能保证他们不被重复包含。当然,相比宏名相同引发的“找不到声明”的问题,重复包含更容易被发现并正。

方式一由语言支持所以移植性好,方式二 可以避免名字冲突。


43、awk的使用
44、线程的基本执行单位
45、TCP三次握手和四次挥手(细节)
46、数据量很大的情况下怎么取出前K个
47、map的遍历,边遍历边删除。
48、重载流运算符 << 实现对类成员的输出
例 class A; A a; cout << a;
49、为什么在重载运算符时是否可以不使用&,若是使用值传递有什么缺点。
50、定义一个数组,这个数组存的是函数指针。
51、对于迭代器 自增运算符放在前面和后面的区别 (it++与++it)
52、菱形继承,如何解决。虚继承。虚继承在内存中有几份拷贝。
53、互斥锁,自旋锁。
54、拥塞控制

55、为何网络这么卡,如果让你来优化有什么办法解决。
56、如果让你来架设一个网络结构,你会如何架构。
57、如何检验一个网络的网络质量。(答了TTL,丢包率,和网络延迟)

58、推排序
59、如果你的同学写了一个项目,该跑起来cpu占用率达到了100%,请问你如何帮他优化。
60、如何锁定他的项目是在什么地方出现了问题,造成cpu占用率过高。
61、如何检查线程和进程的资源占有。
62、同步和阻塞分别是什么。
63、就网络编程来说,有哪些函数是阻塞,哪些是同步呢。
64、有哪些是既阻塞又同步呢。
65、说一下epoll,LT和ET区别。
66、假设用户在线数量为100万,用户id假设用int来存
解决两个问题
1:你会用什么数据结构来存用户(用户可能随时上下线)。
2:如何实现高速随机筛选(大概10万次/s)
(答红黑树存储balabala,说完后大概面试官并不想问我这个,说如果用hashmap存储,如何实现呢。)
67、使用浏览器打开一个网页用了什么协议?为何不用udp?如何实现用udp来访问网页?
68、自己实现一个udp来实现可靠传输。
69、进程的虚拟内存和物理内存

70、查询进程的命令
71、检索文件的命令
72、替换文件里的内容
73、使用inline的场景
74,大小端

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值