T公司W部门二面面经

14 篇文章 0 订阅
4 篇文章 0 订阅

数据库


  • 如何理解数据库的事物.
  • InnoDB如何设计和实现事物的?
  • 一个事物提交的流程.
  • 数据库脏读、不可重复读、幻读是什么?

网络


  • socket recv()有几个返回值?你是如何处理的?各种返回情况?失败有什么原因?收发包的流程?
  • tcp已经建立了连接, 拔掉网线在发送数据write报什么错? 这是一个什么样的失败? -1之后你怎么处理?tcp网线拔了再插上有什么问题(假设ip固定)?你的理由?那拔了过了很久再插上?
  • tcp可靠性如何体现?
  • tcp 四次挥手timewait出现在哪一方? 这个状态意味着什么?
  • select epollo区别? select为什么是1024, 能不能改, 为什么?
  • 系统(网络层)如何判断一个socket可读/可写?
  • epollo事件触发有哪些模式?
  • tcp缓存是如何设计的? 系统网卡方面.

Linux


  • fork()返回值
  • 父子进程的关系有什么特点? 他们共享哪些数据?
  • 父进程不等待子进程退出发生什么?
  • 如何避免产生僵尸进程(除了父进程等待, 主进程需要干活的情况)? 有没有一劳永逸的方法?
  • 进程间通信方式有什么? 共享内存原理?两个进程怎么做同步互斥? 怎么加锁? 用什么锁? 不同进程锁在哪里? 进程级别的锁怎么写? 锁机制是什么? 除了锁还有其方式做同步互斥吗? 文件锁了解过吗?
  • 文件系统如何通过文件名找到这个文件?
  • open()返回的fd是什么含义? 如何通过fd找到文件?

答案:


数据库

  • 如何理解数据库的事物.
    事务的产生,其实是为了当应用程序访问数据库的时候,事务能够简化我们的编程模型,不需要我们去考虑各种各样的潜在错误和并发问题.可以想一下当我们使用事务时,要么提交,要么回滚,我们不会去考虑网络异常了,服务器宕机了,同时更改一个数据怎么办对吧?因此事务本质上是为了应用层服务的.而不是伴随着数据库系统天生就有的.
    事物的特点: 原子性,一致性,隔离性,持久性

  • InnoDB如何实现事物的?
    事务隔离性由锁实现,原子性、一致性和持久性由数据库的redo log和undo log。redo log称为重做日志,用来保证事务的原子性和持久性,恢复提交事务修改的页操作。

  • 一个事物提交的流程.
    在这里插入图片描述
    然后: redolog, binlog…

  • 数据库脏读、不可重复读、幻读是什么?
    【数据库】快速理解脏读、不可重复读、幻读

网络

  • socket recv()有几个返回值?
    *重要: 深入理解socket中的recv函数和send函数
    recv( )函数返回值说明
    recv函数
    socket的read和recv函数的区别

  • tcp已经建立了连接, 拔掉网线在发送数据send报什么错? 这是一个什么样的失败? -1之后你怎么处理?tcp网线拔了再插上有什么问题(假设ip固定)?你的理由?那拔了过了很久再插上?
    send直接返回成功拷贝进内核发送缓冲区成功的字节大小.
    网络断开send会返回SOCKET_ERROR错误. send()百度百科
    TCP服务器如何判断客户端Socket断开连接
    拔掉网线再插上没有影响.

  • tcp可靠性如何体现?
    校验和, 序列号, 确认应答, 超时重发, 拥塞控制…

  • tcp 四次挥手timewait出现在哪一方? 这个状态意味着什么?
    主动关闭方. 意味着需要等待最后的报文成功到达对端.

  • select epollo区别? select为什么是1024, 能不能改, 为什么?
    … , 内核决定, 不能轻易改.

  • 系统(网络层)如何判断一个socket可读/可写?
    socket可读,可写的条件

  • epollo事件触发有哪些模式?
    LT ET…

  • tcp缓存是如何设计的? 系统网卡方面.
    发送和接收各有一个缓冲区

Linux


  • fork()返回值
    >0 , == 0, < 0

  • 父子进程的关系有什么特点? 他们共享哪些数据?
    共享虚拟地址空间

  • 父进程不等待子进程退出发生什么?
    子进程变为僵尸进程.

  • 如何避免产生僵尸进程(除了父进程等待, 主进程需要干活的情况)? 有没有一劳永逸的方法?
    linux下避免僵尸进程的几种方法

  • 进程间通信方式有什么? 共享内存原理?两个进程怎么做同步互斥? 怎么加锁? 用什么锁? 不同进程锁在哪里? 进程级别的锁怎么写? 锁机制是什么? 除了锁还有其方式做同步互斥吗? 文件锁了解过吗?
    …; …; 使用pthread加锁; bilibili: Linux服务器开发二-系统编程 115;
    文件锁: 文件锁的使用浅析

  • 文件系统如何通过文件名找到这个文件?
    在这里插入图片描述

  • open()返回的fd是什么含义? 如何通过fd找到文件?
    彻底弄懂 Linux 下的文件描述符(fd)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值