【WebServer】 面试问题

这是一份涵盖多个技术领域的面试题目集,包括项目目的阐述、线程池的同步机制与优化、服务器并发模型(如reactor和proactor)、HTTP报文解析、日志系统的设计、数据库的登录注册实现、定时器的工作原理及优化、压力测试方法以及综合能力考察,涉及到的问题旨在评估候选人在系统设计与性能调优方面的知识和经验。
摘要由CSDN通过智能技术生成

面试题

包括项目介绍,线程池相关,并发模型相关,HTTP报文解析相关,定时器相关,日志相关,压测相关,综合能力等。

项目介绍

  • 为什么要做这样一个项目?

  • 介绍下你的项目

线程池相关

  • 手写线程池

  • 线程的同步机制有哪些?

  • 线程池中的工作线程是一直等待吗?

  • 你的线程池工作线程处理完一个任务后的状态是什么?

  • 如果同时1000个客户端进行访问请求,线程数不多,怎么能及时响应处理每一个呢?

  • 如果一个客户请求需要占用线程很久的时间,会不会影响接下来的客户请求呢,有什么好的策略呢?

并发模型相关

  • 简单说一下服务器使用的并发模型?

  • reactor、proactor、主从reactor模型的区别?

  • 你用了epoll,说一下为什么用epoll,还有其他复用方式吗?区别是什么?

HTTP报文解析相关

  • 用了状态机啊,为什么要用状态机?

  • 状态机的转移图画一下

  • https协议为什么安全?

  • https的ssl连接过程

  • GET和POST的区别

数据库登录注册相关

  • 登录说一下?

  • 你这个保存状态了吗?如果要保存,你会怎么做?(cookie和session)

  • 登录中的用户名和密码你是load到本地,然后使用map匹配的,如果有10亿数据,即使load到本地后hash,也是很耗时的,你要怎么优化?

  • 用的mysql啊,redis了解吗?用过吗?

定时器相关

  • 为什么要用定时器?

  • 说一下定时器的工作原理

  • 双向链表啊,删除和添加的时间复杂度说一下?还可以优化吗?

  • 最小堆优化?说一下时间复杂度和工作原理

日志相关

  • 说下你的日志系统的运行机制?

  • 为什么要异步?和同步的区别是什么?

  • 现在你要监控一台服务器的状态,输出监控日志,请问如何将该日志分发到不同的机器上?(消息队列)

压测相关

  • 服务器并发量测试过吗?怎么测试的?

  • webbench是什么?介绍一下原理

  • 测试的时候有没有遇到问题?

综合能力

  • 你的项目解决了哪些其他同类项目没有解决的问题?

  • 说一下前端发送请求后,服务器处理的过程,中间涉及哪些协议?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值