后端常见面试题总结
- 【Q005】生产环境的某个接口报错,如何定位
- 【Q006】如何写一个 SQL 获取分组 top n 的数据
- 【Q007】如何写一个 SQL 获取分组 top 1 的数据
- 【Q008】当新入职一家公司时,如何快速搭建开发环境并让应用跑起来
- 【Q012】helm v3 中为什么要弃用 tiller
- 【Q015】你们的前端项目是如何在线上部署的
- 【Q016】后端的敏感数据在生产环境是如何配置的
- 【Q018】当你使用 docker 部署应用时,如何查看应用日志
- 【Q020】如何实现一个分布式锁
- 【Q023】websocket 服务多节点部署时会有什么问题,怎么解决
- 【Q024】在 postgres 中,查询时如何对 jsonb 数据格式化
- 【Q026】如何对接口进行压力测试
- 【Q029】websocket 如何向特定的用户组推送消息
- 【Q033】如何对接口进行限流
- 【Q039】redis 的持久化方案有哪些
- 【Q040】k8s 由那些组件组成
- 【Q041】CoW 策略指什么,docker 中有哪些应用
- 【Q042】docker 中如何查看某个容器消耗的内存和CPU
- 【Q046】docker 中的网络隔离是如何实现的
- 【Q047】如何设计一个高并发系统
- 【Q051】简述一下 graphql,它的引进有什么好处
- 【Q052】graphql 的引进有什么风险,以及性能问题
- 【Q056】什么是服务降级
- 【Q057】什么是熔断机制,微服务如何做熔断
- 【Q058】什么是负载均衡
- 【Q059】四层负载均衡与七层负载均衡有什么区别
- 【Q060】你们项目中的计划任务是如何组织的
- 【Q062】RPC 与 REST 有什么优劣
- 【Q064】如何实现服务发现 (Service Discovery)
- 【Q076】如何设计一个短网址生成服务
- 【Q094】你们的前端代码上线部署一次需要多长时间,需要人为干预吗
- 【Q095】k8s 中的 QoS 有哪几种类型
- 【Q101】你们后端代码上线部署一次需要多长时间
- 【Q107】什么是 Basic Auth 和 Digest Auth
- 【Q124】如何保证内网服务的安全性
- 【Q125】docker 中如何为每个容器的 cpu/memory 设限,原理是什么
- 【Q128】构建镜像时,那几个指令会增加镜像层数
- 【Q130】docker 如何隔离容器与宿主机的时间
- 【Q131】在 docker 的容器中,如何访问宿主机的 localhost
- 【Q132】如何在 docker 中运行 docker
- 【Q135】负载均衡有哪几种方式,它们的原理是什么
- 【Q138】一个守护进程的创建步骤是什么,如何用 C 语言创建
- 【Q143】docker-compose 部署 docker 时,如何把宿主机的环境变量注入到容器中
- 【Q150】redis 中 zset 是什么,用作什么应用场景
- 【Q153】权限设计中的 RABC 是指什么
- 【Q155】当服务升级或者回退时,如何保证流量平滑切换
- 【Q156】如何进行代码质量检测
- 【Q157】如何管理生产环境多个数据库的配置,如何快速连接
- 【Q158】数据库 postgres 与 mysql 相比有哪些优劣
- 【Q163】如何创建一个线程
- 【Q165】什么是公有云,私有云,混合云以及多重云
- 【Q166】在C语言中,void * 是什么意思
- 【Q167】每个指针所占的存储空间是多少
- 【Q172】C语言中 printf 与 puts 有什么区别
- 【Q174】TCP 三次握手发生在 socket 建立的哪一步
- 【Q180】当执行 SQL 语句 select * from user where id = 1 时发什么了什么
- 【Q187】当编辑 graphql 的 query 时,如何在编辑器中自动补全
- 【Q207】什么是隔离级
- 【Q208】在 postgres 中如何查看慢查询语句
- 【Q209】如何得知一条 SQL 执行的时长?
- 【Q212】在 postgres/mysql 中如何判断当前版本是多少
- 【Q213】什么是隔离级,都有哪些隔离级
- 【Q222】数据库中如何查看当前的连接数
- 【Q223】数据库查询如何更好地利用数据库缓存进行优化
- 【Q224】误操作了一个 delete from 语句,如何恢复数据
- 【Q226】数据库死锁是怎么产生的
- 【Q229】在数据库中一个字段如果是字符串类型的,那应该设置哪种数据类型
- 【Q232】当有大量的文本库时,如何做一个字云
- 【Q233】一个关于并发更新的事务以及隔离级的问题
- 【Q234】以下 SQL 语句会有什么问题 (悲观锁)
- 【Q238】什么是服务雪崩,如何避免
- 【Q246】谈谈你对微服务的理解,试着画一个脑图
- 【Q250】刚刚启动了一个服务,如何知道这个服务对应的端口号是多少
- 【Q257】爬虫中如何实现一个调度器
- 【Q258】如何实现一个分布式的爬虫
- 【Q259】爬虫如何实现一个去重器
- 【Q260】如何实现单点登录
- 【Q261】当写爬虫时,因爬取过多被禁掉 IP 怎么解决
- 【Q270】一张员工表,一个字段代表它的上级,如何查询该员工的所有上级
- 【Q275】解释下 OLTP 与 OLAP
- 【Q286】在服务端应用中如何获得客户端 IP
- 【Q287】在 redis 中如何查看版本号
- 【Q298】如何创建一个进程
- 【Q299】serverless 中如何得知目前扩容了多少个实例
- 【Q302】多服务器的系统时间不一致如何解决
- 【Q303】在 k8s 中如何自定义 CRD 资源
- 【Q304】service mesh 是什么,能够解决什么问题
- 【Q318】如何设计 prometheus 中的 metric
- 【Q320】如何衡量 serverless 的冷启动时间
- 【Q323】在 k8s 中如何通过日志查看某条请求进入的 pod
- 【Q325】关于 cors 的响应头有哪些
- 【Q326】如何发现 redis 中的 bigkey
- 【Q330】mysql 如何开启及查看慢查询日志
- 【Q331】当分页10000页时数据库查询 offset 过大如何解决性能问题
- 【Q332】当数据库进行版本升级时,如何进行数据迁移
- 【Q333】mysql 是如何实现 MVCC 的
- 【Q440】试着讲述数据库的几个范式
- 【Q341】为什么在 mysql 不能够使用 = null
- 【Q342】
A, B
复合索引时,A=? and B=?
与B=? and A=?
效果是否一致 - 【Q345】postgres 中 Index Scan 与 Index Only Scan 有何区别
- 【Q346】Sentry 中
withScope
,configureScope
与 直接 setTags 有何区别 - 【Q350】如何实现一个 timeout 的中间件
- 【Q352】k8s 中如何删除所有 Evicted 状态的 pod
- 【Q353】k8s 中 Deployment 与 StatefulSet 有什么区别
- 【Q358】什么情况下会发送 OPTIONS 请求
- 【Q363】如何获取当前系统中的在线用户数 (并发用户数)
- 【Q366】如何保存数据库与缓存的双写一致性
- 【Q372】redis 是如何删掉过期数据的
- 【Q379】你们的后端项目的数据库索引做了哪些优化
- 【Q381】什么是覆盖索引
- 【Q385】什么是缓存穿透,如何解决
- 【Q397】什么是 oauth2,它解决了什么问题
- 【Q400】如何评估一台服务器的 CPU 性能
- 【Q406】在你们的后端应用中,redis 用在哪些场景
- 【Q407】什么是 CPU 缓存,如何查看缓存命中率
- 【Q409】什么是 BNF 与 ABNF
- 【Q413】如何在生产环境部署一个 Node 应用
- 【Q416】apollo-client 与 react-apollo 在前端应用中扮演什么角色
- 【Q423】什么是安全的正则表达式
- 【Q424】TCP 是如何进行流量控制的 (flow control)
- 【Q426】TCP 报文中的选项 Window scale 是什么意思
- 【Q427】TCP 报文中的 ack number 如何计算
- 【Q428】在 nginx 中如何配置负载均衡
- 【Q432】如何给 graphql 设计合理的 Rate Limit
- 【Q433】在C语言中,void 是什么意思
- 【Q438】数据库设计时 char 与 varchar 有什么区别
- 【Q451】同一进程的线程共享那些资源
- 【Q456】简述 RPC 的实现原理
- 【Q457】如何对微服务进行拆分
- 【Q458】服务器CPU过高时如何排查及解决问题
- 【Q459】mysql 中 limit offset 过大导致查询缓慢的原因及解决方案
- 【Q460】在服务端反爬虫有哪些策略
- 【Q483】如何使用 redis 计算 wordcount,并计算出现频率最高的词
- 【Q487】OAuth 2.0 的原理是什么
- 【Q488】JWT 的原理是什么
- 【Q601】什么是认证与授权
- 【Q604】判断以下路由,将会响应哪一个路由
- 【Q609】请简述重新登录 refresh token 的原理
- 【Q641】redis 中的哨兵与集群模式各是什么
- 【Q662】TCP 是如何进行拥塞控制的
- 【Q744】数据库中更新一条记录时,如何自动更新其 updated_at 字段
- 【Q746】如何避免 SQL 攻击