有些就实话实说比较好,就比如说我们就2个销售,而且我自己也负责销售。
1.负载均衡相关概念、策略,常用的负载均衡器(主流的有几种方案应该知道吧)
大公司用F5性能最好 有内置的操作系统,一个10几万起步。
haproxy装在服务器,做负载均衡是主流。
分四层代理负载均衡器(Linux的LVS,基于传输层协议TCP,仅支持轮询的负载均衡策略,效率高但是功能少)和七层代理负载均衡器(包括Nginx、haproxy,基于HTTP,支持丰富的负载均衡策略)---》他们的区别是HAPROXY专注于负载这件事,而nginx功能很多 负载只是其中一个,所以HAPROXY负载转发性能更好,而且对seafile来说session会话功能比较重要,nginx配置会话比较麻烦,所以我们选用haproxy。
新概念:pv( page view) ,所谓负载均衡就是要让集群中每台机器的pv保持差不多。
什么是会话保持:要保证在一次会话过程中,发起的多个请求都会落到同一台机器上。
为什么要会话保持:因为HTTP是一种无状态协议,对请求和响应的状态都不保存,会导致用户登陆过,但是跳转网站其他页面时候又要重新登录。 所以需要Cookie和Session技术。
什么是Cookie:是保存在客户端的一小段文本,随着客户端每一个请求发送cookie字段到服务端。为什么要保存在客户端,因为成千上万客户端信息都放在服务端,服务端压力太大。
什么是Session:Session保存在服务端,相当于一个表记录所有SessionID,每个SessionID对应唯一一个客户端。
会话保持的工作原理:客户端发起请求---》服务端检查是否有cookie,如果没有给你生成一个set-cookie字段保存cookie,并写入你的SessionID来标识你这个客户端。----》客户端收到set-cookie字段,之后每次请求都带上Cookie信息和SessionID---》服务端返回响应
haproxy怎么保证不会单点故障:部署两个haproxy,通过keepalived来实现主备的高可用。keepalived相比于heartbeat部署起来要简单太多。
keepalived的工作原理是什么:他通过七层协议中三四五层的交换机制来监控节点服务状态,客户端通过一个虚拟IP地址来访问,当keepalived检测到主负载均衡不可用的时候,可以主动将VIP切换到备份负载均衡器上。
常用的负载均衡策略有哪些,你们用的有哪些?---》我们就用的默认轮询策略
1.轮询策略:所有请求均匀分配(排排坐吃果果,你一个我一个)
2.权重策略: 手动设置权重,性能高的服务器承担更多负载(我比你胖,我要吃10个)
3.IP哈希:以IP地址为标准,对服务器数量取模运算(一个萝卜(IP)一个坑,很不建议,无法保持负载的均衡)
4.IP_URL哈希:以IP发来的URL为标准,比如1.jpg取模之后余数为1 永远去服务器1处理,2.jpg永远去2服务器处理,处理粒度更细,但是还是负载不均衡。
5. Fair:优先将请求分配给低延时的机器(你们谁闲着就挑粪去)
3.数据库MariaDB的工作原理、优势,如何保证数据可靠性的
MariaDB集群分为主从和多主,主从的话异步同步有延迟,可能造成数据丢失。多主的方案是强一致性,来保证数据延迟,多主节点之间通过wsrep协议/接口来实现高可靠。
什么是wsrep API:是一种数据库插件接口,主要针对写复制,该程序主要用于定义应用程序如何调用复制库进行回写。
为什么用wsrep API:数据库的一个对象,被客户端修改,导致事务产生一系列的原子性改变,在集群中所有的节点都具备相同的对象,由同步复制机制应用到各个节点。
【数据库实现负载均衡的思路跟seafile是一样的】
4.统一认证的原理是什么?
4.存储你们是怎么保证数据可靠性的,怎么容灾的。
RPO:(Recovery Point Obejective,恢复点目标)是指业务系统所允许的在灾难过程中的最大数据丢失量,用来衡量容灾系统的数据冗余备份能力。
RTO:(Recovery Time Objective,恢复时间目标)是指信息系统从灾难状态恢复到可运行状态所需的时间,用来衡量容灾系统的业务恢复能力。
如果服务中心被摧毁,那我们在异地恢复服务的时间应该在1天以内。数据冗余就是不会丢失,都有异地的备份。
我们的容灾是这样的,备份服务器使用了类似seafile同步客户端的算法,从服务器检索增量的修改,以接近实时的频率来更新备份服务器的数据。并且每隔1小时会主动检查一次主服务器上的所有数据库。
还有数据库数据需要备份,通过msqldump工具来导出,这些数据可以通过crontab任务来定时备份。延时备份也不会影响资料库数据的完整性。
这就是我们的容灾方案,他可以保证你的任何数据都不会丢失,通过重新搭建服务和快速恢复这两部分数据,可以很快建立业务,集群恢复的RTO在一天以内。 如果你是一个单节点的方案,那么1小时以内就可以恢复。
4.web服务怎么保证安全性:
(1)防火墙过滤网络攻击,杀毒软件查杀
(2)尽量避免暴露不必要的端口,比如我们就只开放了80和443
(3)限制登录IP段,我们有限制登录的功能
4.nginx反向代理有什么好处
为什么要用反向代理,因为正向代理是代理服务器和客户端之间做一些配置,需要用户有感知。而反向代理是应用服务器和代理服务器之间做一些配置,用户无感知。
反向代理的好处是可以只暴露代理服务器地址,隐藏应用真实服务器地址,提高了安全性。对于客户端的请求,可以进行一些过滤处理掉一些不安全的信息。代理服务器硬盘还会缓存一些访问过的数据,来提高访问速度。
4.你们网盘怎么保证同步的速度,你们如何处理数据的。
一个是本地来计算索引并且分块,另一个是多线程同步,主要还是自研的同步算法性能高。
6.你们的系统各部分都能保证没有单点故障么?
可以,前面回复了。
7.你们会帮客户做哪些测试?
压力测试、同步性能测试,再查查高可用容灾的指标吧。 另外你们的指标能达到多少。
(这些就说一下怎么做就行了吧,我不记自己的数据,负载都挺低的。)
1.统一认证
2.docker相关概念、操作
4.STAR原则讲自己的优势,自我介绍用数据来突出自己的优势。包括你的产品也是,介绍给面试官要让他一下子觉得产品好,这才是合格的售前。 也要让面试官觉得你很好。
5.投标
6.网络知识过一遍
7.linux磁盘那些知识过一遍
8.统一认证的原理看一下
9.你是怎么写解决方案的?包括哪些内容?
其实我觉得把因果表达清楚就好,解决方案最主要还是让人能看懂,给领导的解决方案就要简明扼要一些,如果是技术的高层来看,那就要把实现原理介绍清楚。
9.我自己也是销售