腾讯一面凉经

自我介绍
1.tcp 三次握手
2.tcp udp 区别
3.p2p 不会?
4.打开网页的过程?
5.c分配空间方式
6.malloc如何分配内存
7.多态
8.虚指针
9.和为100
10.bfs
11.32位1e9数据 中位数
12.32位扩展8G
13.线程和进程区别
附加:线程进程切换?
answer
1:tcp 三次握手 c代表客户端 s代表服务端
第一次 c->s 发送 syn包 seq=n 客户端状态变为syn_send
第二次 s->c 发送 syn ack包 ack=n+1 seq=m 服务器转台变为 syn_recv
第三次 c->s 发送 ack包 ack=m+1 seq=n+2 服务器客户端变为establelished
为什么要三次握手:建立可靠连接,确定序号,序号一般为随机值,防止网络中被延迟的分组在以后被重传。
为什么不两次握手:
两次握手有可能第二次丢失,造成建立多个链接,浪费资源。序列号得到确认。
四次握手过程:
第一次 c 发送fin c 状态变为 fin_wait_1
第二次 s 发送 ack s 状态变为 close_wait c 状态变为 fin_wait_2
第三次 s 发送 fin s 状态变为 last_ack c 状态变为 time_wait
第四次 c 发送 ack s 状态变为 closed
四次握手原因:tcp是双工的协议所以接收方发送方都需要fin和ack 所以有四次
time_wait状态原因:时长为2msl 如果客户端直接进去close 服务器没收到ack 就会重新发送fin包,客户端close之后 服务端就不会接收到ack而是收到rst,防止最后一次握手数据丢失。 而且如果关闭之后又使用有可能造成数据混淆。
2.
tcp 有连接的流服务 tcp 拥有标志位 序号 数据校验 超时重传 窗口 拥塞控制 等来控制链接的可靠,以及进行会对网络有益。慢但是可靠 文件传输 重要信息
udp 无连接的报文服务 快 但是不可靠 视频 实时通信等
3.
p2p https://www.cnblogs.com/linsanshu/p/5546948.html 特点减少了服务器的负载,负载均衡,人人都是用户也是服务器,缺点用户少了用户体验极差。越多越好。采用哪种拓扑以及如何优化是重点。
4.打开一个网页,例如 www.baidu.com dns协议查找到 网址的ip 顺序 浏览器 电脑 路由器 isp网络服务提供商 域名服务器 用tcp协议建立连接 然后就开始用http协议 post get这些请求了 用到的协议 dns http tcp ip arp(以太网会用到mac地址) 路由器上ospf等内部网关协议 bgp等外部网关协议
5.分配空间 malloc 小于128k调用brk函数分配 由链表管理的内存 大于128kmmap函数分配文件映射区
7.静态多态和动态多态
静态多态 函数重载 编译期确定
动态多态 虚函数 定义时在数据的头部 sizeof 当前类的虚函数只会占用一个指针的空间
作用 确定类型装换之后调用的函数为原先类型的函数。
9.整数 求有多少个和为100 不重复 sort 双指针 复杂度 nlogn
可以重复 例如0 100 统计有多少个100 多少个0 最后计数 注意50
10.bfs不用函数 就是队列 dfs是栈
11.32位1e9求中位数
当时思路:分组 例如 0-1e8 1e8-2e8…确定是哪组 然后重复这个行为
12.虚拟内存 三级页表
13.https://blog.csdn.net/zhou753099943/article/details/51771220
线程和进程如何切换:https://www.cnblogs.com/kkshaq/p/4547725.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值