笔试总结

发布时间 2023-11-26 22:01:16作者: dchg

这是一个博客园 vscode 插件使用测试的博文。
很好用,以后我们就在博客园更文吧,支持博客园。

C++

野指针 指针失效 内存泄漏
这几个问题是什么 异同点在哪儿?
录音。

const 关键字 指针
关键字从右向左结合变量名 先遇到先结合 决定性质
*p const p

智能指针 auto_ptr被废弃(在C11被废弃)
拷贝构造和赋值构造
涉及到资源所有权的问题
可以单起一篇文章讨论这个问题
写在了 findwork/C++/23.9.6 auto_ptr为什么不能用

this指针

运行时多态性RTTI
动态绑定virtual
C++17 move forward

new能够动态创建对象和对象数组吗 new的用法
如果是int[]这样的动态的话是无法实现的 因为类型不完整

template模板的用法

cpu调度的最小单位是 线程 那协程呢 ?
哈希 散列表 填装因子α 就是链表长度除以散列表的长度
dp数组是用来干什么的?
虚函数和纯虚函数的区别 虚函数用作RTTI 纯虚函数用作抽象类
虚继承 菱形继承
继承的问题

A* obj = new B;
obj->a是A的a还是B的a? A的
class内部是默认public还是private? private struct是public

int&  p = 2?
const int & p2 =2?
const int a = 2;
in&p = a?
const的用法是什么?
float 1.3 == 1.3f?

#define宏定义用法

C预编译指令还有哪些?
define和typedef的区别
字符串替换 不分配内存 给出的是立即数 预处理阶段
有类型检查 编译运行时 静态存储区
还有 define max 100 typedef int int32
https://zhuanlan.zhihu.com/p/447763456
宏定义本身是C的范畴 可能要看一些C的书?

赋值函数 如果某个类需要自定义析构函数 则哪些赋值函数也是需要自定义的?
脑筋急转弯简直是,如果析构函数自定义了 那么拷贝构造函数、移动构造函数、拷贝赋值函数、移动赋值函数也有可能需要自定义,因为需要明确具体资源的管理

sort 如何定义compare函数

STL源码剖析 p389
https://blog.csdn.net/qq_41575507/article/details/105936466

8 16 32 64 代码随想录C++数据类型
64bit io format %lld 类型长度 C++规定longlong最少64位
一般认为int和long等长
但是limits里定义的int貌似不是 貌似是32位而不是最小16位
USHRT_MAX是65535 16位 int至少比short长
long的情况 怎么判断int_max LONG_MAX LLONG_MAX
<limits> 头文件里有numeric容器来初始化最大值
limits可以使用int_max
还不如直接define
abs陷阱 注意值为负的情况

什么是INT64 就是64位的int int的定义是比short长 相当于longlong的最短长度了。

size_t是机器的最大位数 32位机器就是32位 使用typedef定义
根据机器的位数 int long的长度也有区别
https://blog.csdn.net/fuxiaoxiaoyue/article/details/82747332
long long 在什么时候使用?
写题的时候咯 足够大能够容下范围

(++ob1).f1()
operator++(ob1).f1() 类成员函数这么调用?优先级 . > ++ > *

移动语义

移动构造&&

enum
. new能重载吗 能 . ::不能重载 ->可以

if(a<=0)
else if(c++>0) 如果满足a<=0 判断语句还会执行吗 不会
else{}

crbegin()
const的rbegin

string_view C++17

deque

constexper 常量表达式

mutable 定义类成员变量的话 const的类成员函数也能修改此mutable变量

nullptr和NULL的区别
null会有0和void*0的类型区别问题 在遇到重载了这俩类型的类成员函数的时候会不知道用哪个函数
nullptr就不会有这个问题,是nullptr_t类型,能够转换为任何指针或成员指针的类型,也可以进⾏相等或不等的⽐较

类成员访问操作符有哪些 . -> ::

引入auto的目的 自动判断变量类型

这就要看大数据处理的题解了

对于下面的特殊条件,找个例题写写
由于答案过大,请对10^9+7取模 防止加和结果溢出

int MOD = (int)1e9+7
int ans = 0;
return ans = ans%mod;

while(n--) cout<<n; ? n--是在while之后就执行还是在循环体后执行?
×按照for的逻辑应该是while之后就执行。
×是while之后就执行 也就是while判断之后就执行n-- 然后执行循环体 表面上是这样
√ n--是在后自减运算符的时候就已经自减完成了,只不过返回的是未自减的对象。

float怎么判断0?1e6 double是1e15 精度问题
static 代码随想录C++ 关键字 不够
strlen C风格的const char * 长度 需要头文件string.h
类型转换 C++强制类型转换

this指针 获取当前类对象的指针

自增自减的傻逼问题
指针符号优先级

stoi等string函数的实现

stoi能用于变量吗 能 atoi不行 需要c_str()

vector扩容时总是使用移动构造吗?不是 ,只有vector元素的类型有移动构造函数的时候才使用,且需要noexcept关键字。不然仍是使用拷贝构造。为了避免扩容时的拷贝构造,可以提前为vector留足空间。

mysql

limit 0,5
ordered by asc,desc
基础语法、例题练习

索引的优缺点

一级二级三级封锁协议

DML触发器

如何提升数据写入性能

存储组件

innodb myism

没有写MySQL的地方怎么办?刷题啊傻卵
TIMESTAMPDIFF
LAG()OVER()

设计模式 基础应用

八股文不太够 看sylar博客貌似也不太行
看看大话设计模式
需要了解这个模式经常用在哪儿
其次是实现每个模式

linux文件占磁盘大小

ls -lh

-l 一行一个文件 就会显示大小
显示的九位权限是u g o user group other a表示all 在chmod里用于修改权限
第一位是文件类型 d 文件夹 - 文件 l 链接
-h human能读懂的

du

h humanreadable的文件大小
c 当前目录文件
a 文件和文件夹
默认是递归完所有文件夹
s 是只一个文件夹的大小

df

查看磁盘分配状况 会显示挂载文件目录的占用
每个innode的信息

mount

查看所有挂载的文件系统
能用来挂载硬盘、目录

chmod chown

user others all group linux的用户系统cyc

umask

相当于减了一下 设置默认的文件、文件夹权限

awk

文本分析工具

trap

-l 显示所有能够trap的信号
https://cloud.tencent.com/developer/article/1640249
trap命令允许你来指定shell脚本要监视并拦截的Linux信号。
与SIGINT相似的信号是SIGQUIT(ctrl+\) 收到sigquit会产生core文件

ulimit

core文件是什么?
https://www.cnblogs.com/xiaodoujiaohome/p/6222895.html

vsftpd ftp服务器使用
https://zhuanlan.zhihu.com/p/454199786

stat

查看文件的innode

算法

几种排序
快排
排序的几个时间复杂度
哪个排序算法是贪心算法 稳定的有哪些
如何优化大数组的情况?哈希?

最大流问题
最大圈闭合子图
任务调度
最短路
哪个不能用贪心

欧拉回路
有向无环图是否存在环 :

  • dfs
  • 拓扑排序
  • 并查集

BF算法由于是穷举 是n*m KMP算法就是n+m了

Rabin-Karp 字符串匹配哈希 需要看算法导论

数据结构

B+树实现
红黑树八股
平衡二叉树的RL调整

哈希表

线段树

大顶堆
小顶堆的实现与使用
堆排序

森林
优先级队列
大模拟
图论 游戏常见模拟
单调栈 单调队列
STL

游戏服务端常见问题

游戏卡是什么原因

每日社区问答
需要寻找一些博主

操作系统

基础 虚地址空间如何构建
页 块

IPC手段

CPU上下文切换

TELNET用TCP?

共享内存区

单DNS可以有多个IP吗

耳机接入要用到ADC数字转换 DMA内存直接访问
用不到RPC远端过程调用和IRQ中断

线程与进程的区别 线程堆栈共享吗

内存保护方式

覆盖技术与交换艺术

计算机网络

应用层协议之间的区别
https是什么如何构建https服务器
安全性问题 几个可能的情况

私有ip范围

三次握手 四次挥手

cookie

codetop

搞完代码随想录后搞这个

两个字符串的最小ASCII删除和

测试用例设计

测试八股
软件测试
黑盒测试能发现哪些问题 功能、界面 输入输出 数据库访问 性能

服务器压力测试

趋势分析 对无法模拟的条件进行预测

架构

SOA

题目

9.10腾讯:
路径偏差数量
删除中位数
勇敢牛牛不怕困难
校验和
牛妹的k次奇怪操作

找不到。

矩阵相交
删除升序数组的重复元素
小红的平均数

字典树 线段树

Hbase

可用于存储metrics 监控指标的度量类库

go

Java

线程安全 基础语法
string类线程安全吗
java string是不可改变的 如果要做修改 要用stringbuffer或者stringbuilder
指的是字符串不可修改 本身是个引用 可以被赋值
volatile关键字 能解决并发问题吗
用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新的值。
解决不了。
volatile能够使类对象变量不被jvm优化
可以看代码随想录的思维导图
volatile保证的可见性、有序性 不能保证数据的原子性 而synchronized关键字可以保证可见性和原子性 volatile是更加轻量级的线程同步实现,主要用于数据在多个线程中的可见性 而synchronized则保证了资源的同步性

android

logcat查看日志 filter