Waking-Up icon indicating copy to clipboard operation
Waking-Up copied to clipboard

计算机基础(计算机网络/操作系统/数据库/Git...)面试问题全面总结,包含详细的follow-up question以及答案;全部采用【问题+追问+答案】的形式,即拿即用,直击互联网大厂面试;可用于模拟面试、面试前复习、短期...

Results 20 Waking-Up issues
Sort by recently updated
recently updated
newest added

数据库还有一些待更的,一年没有更新了

"什么是TCP粘包"在面试中似乎还挺常见,仓库删掉了这个问题的说明,还是有必要了解一下的。首先“TCP粘包”不是TCP的问题,而是应用开发者的问题。 现象:一次recv就得到了多次send的数据,就好像多次发送的数据粘在了一起。 原因:因为TCP是面向字节流的,只负责把数据以有序的字节流的形式发出,把几次发过来的数据区分开是应用层需要做的事情。 处理办法: 1.固定包长的数据包。 顾名思义,即每个协议包的长度都是固定的。举个例子,例如我们可以规定每个协议包的大小是 64 个字节,每次收满 64 个字节,就取出来解析(如果不够,就先存起来)。这种通信协议的格式简单但灵活性差。如果包内容不足指定的字节数,剩余的空间需要填充特殊的信息,如 \0(如果不填充特殊内容,如何区分包里面的正常内容与填充信息呢?);如果包内容超过指定字节数,又得分包分片,需要增加额外处理逻辑——在发送端进行分包分片,在接收端重新组装包片(分包和分片内容在接下来会详细介绍)。 2. 以指定字符(串)为包的结束标志。 这种协议包比较常见,即字节流中遇到特殊的符号值时就认为到一个包的末尾了。例如,我们熟悉的 FTP协议,发邮件的 SMTP 协议,一个命令或者一段数据后面加上"\r\n"(即所谓的 **CRLF**)表示一个包的结束。对端收到后,每遇到一个”\r\n“就把之前的数据当做一个数据包。这种协议一般用于一些包含各种命令控制的应用中,其不足之处就是如果协议数据包内容部分需要使用包结束标志字符,就需要对这些字符做转码或者转义操作,以免被接收方错误地当成包结束标志而误解析。 3. 包头 + 包体格式。 这种格式的包一般分为两部分,即包头和包体,包头是固定大小的,且包头中必须含有一个字段来说明接下来的包体有多大。 参考资料:https://www.zhihu.com/question/20210025

这个问题好像闲置了许久没有问答了 作者是不是太忙了把他忘记了

![image](https://user-images.githubusercontent.com/58691327/162868038-1578aca4-1ad3-4a66-ab2e-88898a2999aa.png)

![image](https://user-images.githubusercontent.com/58691327/162860539-c1ef813f-89f5-4ea1-9d51-82c9b17690fe.png)

## 字节跳动研发岗位内推,长期有效 【岗位】后端/前端/Android/iOS/测试/算法/数据分析......;**社招/实习/校招**均可,社招开放初级/中级/高级各种级别 【福利待遇】业界TOP的薪酬回报+快速发展的平台+过亿用户产品+自由极客技术氛围、六险一金、弹性工作不打卡、免费三餐下午茶、无限量零食水果、租房补贴、免费健身房... ### 社招/实习 通过内推链接: https://job.toutiao.com/s/kAvrHkR 自助投递即可, 投递即算作内推 ### 校招 字节跳动校招内推码: **```YZGYZWU```** 投递链接: https://job.toutiao.com/s/Jjq9YQT ### 热招部门 - 生活服务 - 国际化电商 ------ #### 校招/实习/社招,有任何简历、岗位、内推进度、面试等等相关的问题都可以通过邮件(邮箱在我的GitHub个人简介中)问我,一天之内回复。欢迎大家来交个朋友

借这个仓库补充了很多知识。看到操作系统最下方 TODO 里有 IPC,分享一下我最近在复习时总结的笔记,希望对其他同学有帮助: 1. [进程间的通信方式](https://imageslr.github.io/2020/02/26/ipc.html) 2. [I/O 多路复用、select / poll / epoll](https://imageslr.github.io/2020/02/27/select-poll-epoll.html) 补充一下我的校招面试题汇总分享,大家可以作为本仓库的补充阅读资料: https://imageslr.com/2020/07/08/tech-interview.html 校招经验分享: https://imageslr.com/2021/autumn-recruit.html

### MySQL架构 ![image](https://user-images.githubusercontent.com/53121066/109394304-47e65c80-7961-11eb-8390-9139b17f4afc.png) ### MySQL日志 错误日志:记录出错信息,也记录一些警告信息或者正确的信息。 查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。 慢查询日志:设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询的日志文件中。 二进制日志:记录对数据库执行更改的所有操作。 中继日志:中继日志也是二进制日志,用来给slave 库恢复 事务日志:重做日志redo和回滚日志undo ### 主从复制 复制的基本原理 slave 会从 master 读取 binlog 来进行数据同步 三个步骤 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events; salve 将 master 的...