美文网首页
后端常见问题(全)

后端常见问题(全)

作者: 什锦甜 | 来源:发表于2018-07-19 01:16 被阅读119次

    C++

    • static 关键字有哪些用法
    • 说说继承和组合的概念?什么时候应该用继承?什么时候应该用组合
    • C++ 的菱形继承会发生什么问题?画出对应的内存布局
    • 说说对 C++ 智能指针的了解
    • 说说虚函数实现机制
    • 如果父类中仅有方法,子类有一个 int 变量,这时候 sizeof 是多大
    • 指针一定是 4 个字节吗
    • #define 和 inline 函数的区别是什么
    • const static 在哪里初始化
    • 派生类的构造函数和析构函数执行顺序
    • 什么情况下基类的析构函数没有被调用
    • 如何生成静态库?如何生成动态库
    • 如何用 gdb 调试
    • coredump 查看,core 文件分析
    • 如何调试运行中的程序
    • 运行了几天的程序崩掉,如何分析错误
    • 如何编写 makefile
    • 编译器的编译过程?链接的时候做了什么事?在中间层优化时怎么做?
    • STL 各容器如何实现
    • 适配器是用来做什么的
    • queue 如何实现
    • map 用什么实现
    • 如何实现 vector?优化 O(n) 的复制
    • 红黑树插入数据发现不平衡应该怎么做
    • debug 模式和 release 模式编译的区别
    • 如何查看链接的动态库

    Python

    • Python 的装饰器是什么

    • 什么是闭包

    • 说说 Tornado 的架构

    • 说说 flask 的架构

    • Python 的生成器是什么?底层怎么实现

    • 算法

    • 了解哪几种排序方式?有没有 O(n) 的排序

    • 平衡二叉树的插入

    • 二叉查找树

    • 10个 G 的最高访问 Ip 统计

    • 倒排索引

    • 常用缓存置换算法

    • Lru 算法的实现及优化

    • 堆和栈的区别

    • 常用 hash 算法

    • md5、sha1 的实现

    • 一万个 url 的快速查找

    • 两个有序数组找并集的优化

    • 10亿个整数中找最大的 100 个,用 O(n)

    网络

    • HTTP 和 TCP 有什么关系
    • TCP 的三次握手过程
    • TCP 和 UDP 的区别
    • TCP 包为什么需要 Seq
    • 包为什么会乱序
    • 说说 HTTP 协议
    • HTTP 1.0 和 HTTP 1.1 的差别
    • HTTP 头部有哪些字段
    • 为什么 HTTP 是无连接的
    • 有没有保持长连接的 HTTP
    • TCP 的拥塞控制是怎样的
    • TCP 中客户端发送 SYN 后客户端和服务器分别处在什么状态
    • 服务器调用 send 后返回发送数据大小,是否可以认为客户端已收到?如何确保- 客户端收到数据
    • 304 状态码的意义?在 HTTP 协议中的实现
    • 如何判断服务器文件是否已修改?知道浏览器缓存的文件与服务器文件不一致?在 HTTP 中哪个字段
    • A 类地址和 B 类地址的区别
    • 局域网没有 ip 时如何通信?如何得知 mac 地址
    • tcp ip 层的意义?
    • 进程 accept 时在哪里取得套接字
    • 什么是网络虚拟化
    • vpn 工作原理
    • TCP 对网络拥堵的判断
    • TCP 几种拥塞机制的重传机制

    系统

    • 指针对应的地址是不是物理地址
    • 物理地址和虚拟地址通常叫做什么?缩写是什么
    • 操作系统的寻址方式
    • linux 中如何计算可用内存
    • linux 中如何用 top 命令中查看虚地址和实地址的信息
    • 如何用搜索引擎去了解 top 中的虚地址?不用搜索引擎怎么知道
    • top 的输出中哪些是表明了内存
    • 根据 top 计算可用内存有多少
    • 用 top 看耗性能的线程
    • 还有哪些命令可以找出性能瓶颈
    • epoll 与 select 比较
    • epoll 的缺点,如何克服缺点
    • epoll 机制中文件描述符就绪时如何从内核态通知到用户态的进程
    • epoll 实现
    • 说说同步 异步的区别
    • 进程间通信的方式
    • 进程间的通信有哪些机制?在资源内存方面比较如何
    • 同一进程线程间的通信;不同进程线程间的通信;
    • 如何判断系统在哪些地方耗费性能
    • cpu 调度的单位是什么
    • 如何让多核 cpu 更好的利用资源
    • 什么是缺页
    • 如何控制两个进程对一个数据的访问?怎么处理加锁问题
    • 说一说协程
    • 是否了解 netstat
    • 在 shell 中用 ./a.out | wc- l 结果是多少?管道的输入是哪个进程的
    • 谈谈 Linux 的文件权限。让只有拥有者才能读写?让拥有者只能读和执行? 删除文件需要什么权限
    • 假如一个进程在对文件进行读写,管理员把文件删除了怎么办
    • 协程与进程线程比较有什么优势
    • 计算机从电源加载开始的启动过程
    • 什么是中断调用?中断程序的分类
    • lsof strace ptrace gdb 使用
    • 内核态和用户态的区别
    • 为什么需要内核态
    • 什么时候进入内核态
    • 多线程需要加锁的变量
    • 程序在内存中的布局

    后端组件

    • memcached 的内存设计
    • 有哪些服务器模型
    • tinyhttpd 的基本工作流程
    • cgi 程序是什么?fastcgi 等等
    • Apache 和 nginx 中分别如何添加一个网站的访问?如何限制 ip
    • apache 和 nginx 的不同在哪里
    • nginx 和 apache 的架构分别是怎样的
    • memcached 和 redis 的差别是什么
    • 简述 redis 的几个操作
    • 知不知道进程池?有没有用过
    • redis 的用什么实现持久化?redis 的持久化是否能够信任
    • memcached 和 redis 为什么不能作为常用数据库
    • tinyhttpd 中对 HTTP 请求的处理
    • 内存池对不同大小数据结构怎么存储
    • RPC 有哪几种实现方式?如何提供接口调用
    • RPC 调用中同步、异步、阻塞、非阻塞的区别
    • Web

    cookie 和 session 的区别

    • get 与 post 的区别?访问安全性是否有区别?如何做到真正的访问安全
    • 如果发现网络不能访问会检查哪些方面?如果只有某个网站不能访问
    • 没有登陆后台的情况猜测服务器挂掉会是什么原因?如果你是网站管理员用户反馈你的网站不能访问应该怎么做
    • 在后台发现运行程序卡时应该怎么做?检查哪些方面
    • 介绍 HTTPS。能否截获 HTTPS 的数据包

    数据库

    • 数据库之间如何同步
    • 怎么保证数据库同时操作几个表的一致性
    • 怎么保证主从服务器中数据库的同步
    • 数据库 ACID 是什么
    • 关系型数据库和非关系型数据库的区别
    • MySQL 的锁的类型
    • 什么时候 MySQL 会对表上锁?对一行上锁
    • 行级锁、表级锁的区别
    • 高并发访问 MYSQL 时,如何保持数据一致性
    • MySQL 有哪些存储引擎?为什么使用 InnoDB
    • MySQL 如何建立索引
    • 建立 A 列和 B 列的索引需要考虑什么
    • 数据库查询过慢的优化
    • 索引实现机制
    • 大数据,高并发

    如何设计一个高性能服务器架构
    在集群之间做缓存,一个节点挂了怎么办
    集群中 session 的同步
    集群之间的消息队列
    在集群之间做缓存,一个节点挂了怎么办
    有哪些高并发的服务器设计
    I/O 复用模型有哪些
    select 和 epoll 的区别
    秒杀中多个数据库服务器的同步
    抢票系统怎么做?
    设计 qq 对应所有属性的存储和访问
    什么是负载均衡?负载均衡的实现
    前端

    网页中的 js 事件
    $( function(){ } ) 是什么意思?和 window.onload 什么区别
    用两句话概括 BootStrap
    用两句话概括 Jquery
    Docker

    (因自己做过 docker 相关)

    Docker 的适用场景
    什么是无状态应用
    Docker 分层镜像机制
    Go 与 C++ 设计比较,优缺点是什么
    Go 的 import 机制优缺点
    cgroup 原理
    为什么要把项目 docker 化
    为什么需要资源隔离和虚拟化
    其他

    介绍 MVC 模式
    SVM 原理
    Java 内存回收机制
    字节和字符的区别
    什么时候用字符读文件,什么时候用字节读文件
    写过的最难的程序是什么
    成就感最大的项目
    单例模式如何实现
    中文的编码有哪些
    XSS 攻击?举例说明 SQL 注入
    用两条能燃烧一个小时的不均匀的香计算 15 分钟
    7 个工人 7 小时挖了 7 米的洞,50 小时挖 50 米的洞需要多少人?

    相关文章

      网友评论

          本文标题:后端常见问题(全)

          本文链接:https://www.haomeiwen.com/subject/ovkzpftx.html