图片来源网络

本人马上大四,现在在找运维开发的工作,投的是知乎运维开发的岗位,面试时间大约 40 分钟。以下是面试过程中问到的,自我感觉整体回答的不太好。

1,什么是鸭子类型

这个问题我没有深入研究过,回答的不太好,以下是总结的。

鸭子类型(duck type):不同的对象可以相互替代,只要他们有相同的属性或者方法

多态类型,用于动态语言

在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。例如,在不使用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为”鸭子”的对象,并调用它的”走”和”叫”方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的”走”和”叫”方法。如果这些需要被调用的方法不存在,那么将引发一个运行时错误。任何拥有这样的正确的”走”和”叫”方法的对象都可被函数接受的这种行为引出了以上表述,这种决定类型的方式因此得名。

2,tcp 3 次握手和 4 次分手

这个还是比较简单的。。。。

3,keepalived 原理

面试官问我高可用可以用哪些软件实现,我答有 keepalived 和 heartbeat 等,这两个玩意以前经常用,后来没咋研究,所以回答的一般。

keepalived 是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。keepalived 起初是专为 LVS 设计的,专门用来监控集群系统中各个服务节点的状态。后来又加入了 VRRP(Virtual Router Redundancy Protocol) 功能。

VRRP 协议是用于实现路由器冗余的协议,VRRP 协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。

4,nginx 和 apache 的区别

这个知道,

nginx 相对 apache 的优点:

轻量级,同样起 web 服务,比apache 占用更少的内存及资源

抗并发,nginx 处理请求是异步非阻塞的,支持更多的并发连接,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能

配置简洁

高度模块化的设计,编写模块相对简单

社区活跃

apache 相对nginx 的优点:

rewrite 功能比 nginx 的强大

模块超多,基本想到的都可以找到

少bug ,nginx 的bug 相对较多

超稳定

5,异步非阻塞模式和阻塞模式的区别

这个只答对了一部分,只是说明了两者的区别,当时忘了同步异步与阻塞和非阻塞关注的层面。

同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)

所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。一旦调用返回,就得到返回值了。

换句话说,就是由调用者主动等待这个调用的结果。

阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。

阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。

非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

6,docker 与 xen,kvm 的区别

xen 和 kvm 只是了解,所以回答的不太好,面试官也没有追问,说了下 docker 的优点

xen、kvm 是针对硬件的虚拟化,需要 hypervisor 进行管理, docker 是对操作系统层次的虚拟化

xen、kvm 是一个完整的操作系统,而 docker 中跑的是一个进程

docker 所需要的资源少,启动特别快,而且对系统资源的利用率较高

7,mysql 主从复制原理以及复制过程可能出现的问题

复制原理非常清楚,但是可能出现的问题,只知道由于网络或带宽原因会出现延时

复制原理:

1,主服务器将数据更新记录到二进制日志中

2,从服务器通过IO线程把主服务器的二进制日志复制到自己的中继日志中

3,从服务器通过SQL线程执行中继日志,把更新应用到自己的数据库

最常见的几种问题:

由于是异步复制,且sync_binlog=0,会造成一小部分binlog没接收完导致同步报错。

1,网络延时是产生mysql主从不同步的主要原因

2,删除失败:由于master删除了一条记录,而slave上找不到故报错

3,主键重复:在slave已经有该记录,又在master上插入了同一条记录

4,更新丢失:在master上更新一条记录,而slave上找不到,丢失了数据

延迟的原因及解决方案:

1,慢 SQL 语句过多

2,主从库之间的网络延迟

3,主库读写压力大,导致复制延迟

4,主库的从库太多,导致复制延迟

5,从库硬件比主库差

8,mysql 索引

这个有点复杂,只知道索引的目的在于提高查询效率,索引的数据结构是 B+ 树,使用 B+ 树是为了减少 IO。

索引的数据结构是 B+ 树,它的设计思想是,将相关数据尽量集中在一起,以便一次读取多个数据,减少硬盘 IO。查找数据项时,首先会把磁盘块由磁盘加载到内存,此时发生一次 IO,在然后内存中用二分查找确定数据的范围。

9,RAID 的原理

这个比较熟悉,回答了 RAID0,RAID1,RAID5,RAID6,RAID10 各个级别的原理及配置

10,怎么理解 RESTful API

概念不太清除,知道是为了方便前后端交互设计的,使用 json 格式的字符串进行传递数据。

RESTful 架构是一种统一的互联网软件架构,其目的是为了统一接口,方便不同的前端设备与后端进行通信。

RESTful API 是目前比较标准的一套应用程序的 API 设计理论。

工作原理就是,客户端发送request,服务端response一个json对象

11,sed 命令的使用

没有想出来有哪些特定的使用场景,只想到了输出文件中特定的行或删除特定的行

12,对 Django 框架的理解

介绍了下框架的优点,MTV 模式的使用方法,如何写业务逻辑,对协议的封装,有自己的 CMS

Django 是 python 中目前最流行的 Web 框架,能够帮助你把程序的整体架构搭建好, 而我们所需要做的工作就是填写逻辑, 而框架能够在合适的时候调用你写的逻辑, 而不需要我们自己去调用逻辑, 让 Web 开发变的更敏捷.

13,CentOS 系列的区别

用的最多的还是 6 系列,7 与 6 区别在于启动的方式,对服务的管理,其他不太了解

1,默认使用 xfs 文件系统,6 使用 ext* 文件系统

2,引入 systemd 进程管理器,使用 systemctl 管理服务。6 使用传统的 SysVinit 初始化脚本,它通常情况下在 /etc/rc.d/init.d/ 文件夹下。sysvinit一次一个串行地启动进程,而Systemd则并行地启动系统服务进程,

3,防火墙由 iptables 改为 firewalld

mysql客户端用什么 知乎_知乎面试记相关推荐

  1. python web server 知乎_“知乎网”技术方案初探

    知乎的整个网站架构图如下: 知乎是国内很少的使用Python开发的一个网站,也很多值得我们学习的地方,从知乎让我们也可以了解到一些新的WEB技术. 一.Python框架 知乎目前使用的是Tornado ...

  2. 机器学习模型 知乎_知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用...

    谢邀!知乎 CTO 来分享下内容社区的 AI 架构搭建与应用. 「在信息爆炸的互联网海洋中,有价值的信息仍然是稀缺的」.知乎的诞生源于这样一个非常简单的初心. 而在挖掘真正有价值的信息过程中,知乎很好 ...

  3. mysql客户端能运行sql文件_通过mysql客户端执行sql文件的方法

    选择要执行sql文件,点击"打开"按钮,如图 方法/步骤 点击"ok"按钮,如图: 下面是学习啦小编为大家整理的关于通过mysql客户端执行sql文件的方法,一 ...

  4. mysql 安装 知乎_知乎问答3-MySQL安装详解

    MySQL安装详解 步骤1:选择安装类型 有3种安装类型:Typical(典型安装).Complete(完全安装)和Custom(定制安装). Typical(典型安装)安装只安装MySQL服务器.m ...

  5. mysql 书籍 知乎_知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?

    INSERTINTO`csjdemo`. `student`( `ID`, `NAME`, `SEX`, `AGE`, `CLASS`, `GRADE`, `HOBBY`) VALUES( '20', ...

  6. python入门经典书籍知乎_知乎问题回答 - 《Python100天从新手到大师》 - 开源书籍(oscbook.com)...

    知乎问题回答 Python学习完基础语法知识后,如何进一步提高? 如果你已经完成了Python基础语法的学习,想要知道接下来如何提高,那么你得先问问自己你要用Python来做什么?目前学习Python ...

  7. java 爬数据工具 知乎_知乎爬虫之4:抓取页面数据

    本文由博主原创,转载请注明出处:知乎爬虫之4:抓取页面数据 咱们上一篇分析了知乎的登陆请求和如何拿到粉丝/关注的请求,那么咱们这篇就来研究下如何拿利用Jsoup到咱们想要的数据. 那么咱们说下,首先请 ...

  8. ebs开发入门 oracle 知乎_知乎日报

    你好!(我也没有让人满足的回答,不过很多人给我赞,我有点不好意思呢.) 我刚刚读完题主和网友们的讨论,简直可爱死了. 因为我从来没想过韩国人说话的时候拖音,生气或者吃惊的时候把眼睛瞪得很大. 没意识到 ...

  9. 儿童 编程 python 知乎_知乎热议!学完Python之后,我的编程能力竟然退化了!

    来源:雪球App,作者: 雪_雪雪_球,(https://xueqiu.com/7788828530/135705417) 在知乎上有一个特别火的问题:如何学Python? 你会看到很多高赞回答是: ...

最新文章

  1. JSP自定义标签之简单标签入门
  2. Linux下配置JavaWeb环境(持续更新其他软件)
  3. 010_SpringBoot视图层技术thymeleaf-变量输出与字符串操作
  4. 白话Elasticsearch08-深度探秘搜索技术之基于boost的细粒度搜索条件权重控制
  5. oracle集群图例
  6. 榜单类应用我所喜欢的算法
  7. 为tornado自定义session
  8. centos7安装Hive2.3.0
  9. 比较两种php调用Java对象的方法
  10. python网络安全协议_python网络安全
  11. Dijkstra算法求最短路径(附leetcode 743 网络延迟问题)
  12. eclipse deploy path 修改
  13. 我的天!你竟然没有在SpringBoot中使用过异步请求和异步调用...
  14. av_malloc 与 av_free 的函数原型
  15. FAT文件系统详解(一)
  16. win10查看正版还是盗版
  17. 【 机器学习】入门,理论框架以及学习资料
  18. 7723java异形_7723-14-0
  19. IoT全品类全场景来了,但5G时代“大雁群飞”仍需紧盯“服务”
  20. 动态申请二维数组空间及释放

热门文章

  1. 电脑上的PDF文件太大了怎么办?
  2. 设计一个分数类java_Java 有理数类 分数类 Rational类的设计与实现
  3. 从python入门到人生巅峰
  4. Burg法求解AR(p)模型参数(一)自回归模型
  5. 计算机知识小口诀,字根表口诀怎么快速背-小学数学:一年级20以内加减法口诀表,附背诵技巧!...
  6. 台式计算机耗电,台式电脑和笔记本耗电量对比,分别是多少?
  7. 搜狗泛站怎么做?搜狗泛域名泛目录收录方法
  8. 第三方登录数据库用户表结构设计
  9. [转]在低调中修炼自己
  10. 笔记本计算机在桌面显示器,解决办法:笔记本电脑如何关闭屏幕,但仍可以使用?...