咸鱼面经

技术面试分享:
技术经理目测K哥水平,强的一批
:disappointed: :disappointed: :disappointed:
1、你前端什么水平?

前端只会些基础的,套框架写简单的东西

vue这种有去了解吗,套框架,能做到哪种水平?

vue了解不多,毕竟有自己的语法,我顶多就js、jq,套框架layui,饿了么这种,官网复制组件,直接copy来用。

产出速度咋样呢

非常慢

为啥?

个人觉得,本身前端就是对框架的一个熟练度的掌控,我很少去写那些,而且带点强迫症嘛。

那你觉得一个模块,团队之间如何做到快速开发

个人理解,就前后端的话,只要把接口文档细化制定好,这样各自开发,省去不必要的接口对接

就这些嘛,那接口文档如何制定好呢?

具体的话,根据业务,细分各个功能接口,包括字段返回,进行一个确切的商讨

接口细化就可以了?还有吗?

就是形成文档就好了吧,比如swagger,或者apipost之类,然后最初的话,出原型图,流程图?你的问题点在哪里,不是很懂

原型图,流程图,这些是开始粗粒度的,我是说建表这个点

建表这个,最开始就应该去做啊,我理解的你是问接口对接这块。如果说建表那是肯定最初就得制定的。

2、我看你做云对接,那接口安全如何实现的?

云平台接口的话,都有验签,相当于获取一个token啊,而且第三方平台都有对应密钥,类似微信的appid

那我要是拿到你的token呢,安全怎么处理?

ip黑名单?两次ip不一样,我就禁止访问

ip这个东西很容易伪造,这个点不行

可以伪造嘛,这个不太了解,那jwt呢,这样你不知道私钥,拿到了我的token,也没法破坏其他接口

那我就调用相同的接口,安全也包含数据泄露这块的

那加密编码,啊,也不行,专业的肯定可以解密。那哈夫曼树?

哈夫曼树,做文件压缩的,加密也行,但密钥还是会可能泄露

额,那就不太懂

假如让你设计,你说一个你觉得最安全的

那就jwt校验,配合动态生成密钥,每十分钟更新一次,类似微信平台密钥更新。我想知道,你理想的答案是啥

这个没有定式答案,网络安全,和破坏,本来就是个不断斗争的过程,我只是想了解你的思考过程,你不断想出安全方法,我不断给你破解

好的,明白了

3、看你对cloud有了解,说说他的各个模块做啥的

cloud的话,我项目就是老的一套,吧啦吧啦,Alibaba的话,我看的比较多,他的生态相对完善,吧啦吧啦组件,然后现在主流开源项目就是两个组合使用,阿里巴巴结合cloud二代网关gatway,服务调用的话 Feign,或者 Dubbo的RPC,这里其实不太懂他们为啥不用 Dubbo,个人觉得,同一个生态,一套更好

那你说说微服务系统的架构

类似那种架构图嘛?

对,说下如果让你搭建一个完整的高可用,应该有哪些

微服务框架比较固定了,客户端,nginx负载均衡网关,网关可以集群嘛,网关负载各个服务,服务也是,万物皆可集群,中间穿插服务熔断,限流组件。然后数据层的话就是redis 缓存热点数据,MySQL,这里也是,皆可集群,外加读写分离

nginx负载均衡有什么用呢,既然你说网关都有负载均衡了

嗯,nginx我没过多了解,我之前也有同样问题,我觉得其实很多cloud组件做负载就好,nginx是多余的,后面去研究了一下,说是nginx是客户端啊,负载网关集群,网关不可能做自己的负载

那nginx呢,web页面不是指有一个实例?

啊,不太懂,前端好像也有微服务的概念吧,这个只是听说过

前端微服务,那多个端口怎么处理呢?

这个不了解,说说呗?

嗯,ip有个啥啥了(大意就是两个ip可以混淆成一个地址,达到负载作用)

4、你觉得哪快技术你比较强?

MySQL吧 之前有深入研究过

那你说说他的日志文件吧

binlog ondolog redolog,binlog就是用来做数据复制的,主从库数据复制(打断)

binlog 里面存的是啥类型的文件?

啊这。。。不用问这么细吧,对这些我只是大致了解些

那你说研究挺多,是到哪一步?

mvcc吧

mvcc是啥?

多版本并发控制

嗯,那你说下事务隔离级别

这块我理论还是很清晰的,吧啦吧啦(四个级别,解决什么问题)

那为什么rr,幻读不能解决?

这个,怎么说呢,回答这个问题我觉的得说串行化如何去解决的幻读,但串行化没人会用,我就没了解,所以这个答不上来

那你说说索引优化吧

索引优化无非就是对b+树的优化,我不喜欢记那具体的优化规则,深入一点无非就索引覆盖,和避免回表

什么是回表?

举例组合索引,索引树里面是存有索引字段的,如果只查索引列,那么走一次树就可以了,如果再去查一个普通列,他还需要格外走主键树,找到那个普通字段。

嗯,那你知道MySQL里面,b+树最多多少层呢

这个,我一般去了解原理,更多是为了更好的用,比如每个节点大小是固定的,16还是18这个我记不清,反正就如果索引字段太大,那树的体积也会变大,效率也会低,你说的多少层,这种概念,对使用有帮助吗

这个有啊,你可以知道他的上限吧啦吧啦,你数据结构咋样

基础数据结构,非班科出身嘛,这块之前很差,但后面有去补,就是数组,链表,树嘛,可能就红黑树旋转这块不咋理解,也懒得去理解了

嗯,行吧

5,我看你说了解jvm垃圾回收,了解多少?

就是知道回收的一个大致流程,还有那些回收算法的一个大致原理吧

那你有没有遇到这种情况,xms,xmm,设置了但是没生效

会不生效嘛,是因为动态调整?我记得这个最好设置成一样的

嗯,会有的,就设置了,但没变,吧啦吧啦

这个没遇到过,我实际遇到鬼一个就是,以前有wind服务器嘛,然后这个参数就很坑,同配置,Linux可以设置2g,wind可能就只能设置1G,不然直接崩掉,报错

嗯,那假如我现在线上一个类出了问题,我又没加日志,我怎么去定位?

啊这个,去修改对应类代码,然后替换class文件?动态加载?这个不太清楚

嗯,差不多,其实就是你说的那个思路

6,哦对,设计模式我还没问

你问嘛,设计模式,我就对他思想有个理解,可能就一句话概括下。

那不问了

人事面,老板面,说两个自认为回答的好的问题(也不是应付面试,本身就是自己的看法):
:clown_face: :clown_face: :clown_face:

你说你的学习能力很强如何体检的,能否举例子?

其实自认为我的学习能力是普通水平,但是我会去学,有学习的意识,这一点其实已经强过大多数混子了

看书吗,最近看的两本书是啥

最近没怎么看,以前看过两个很厉害的,《三体》和《百年孤独》(对方也看过,然后相互扯了下对书的读后感)

其他的问题:学习平台是啥(b站,码云),跳过…