快手面试走到三面被刷岗位是java架构师
一、技术一面(半小时)
(一)了解项目经验;
(二)技术知识http协议头hashmap结构正向代理、反向代理是什么,区别是什么设计模式讨论:熟悉的有哪些,工厂模式简单讨论了下,聊了一下代理、适配器、装饰模式的区别,还有些比较简单不记得了。
二、技术二面(一个半小时)
(一)同样是了解项目经验,一些核心服务的开发、微服务设计、分布式一致性的实现、领域模型、代码规范和走查、版本管理工具
(二)技术知识1.网络:单点登录、http头、cookies安全性保障、session共享、tcp/ip的可靠性保证;结合实际经验聊了下网络访问响应速度估算,是什么影响了不能将响应速度降到更低;
2.java基础:虚函数、虚拟机类加载机制、类的生命周期;
3.操作系统:(这方面的问题基本上直言开发的时候用什么查什么的,不算擅长)操作系统的调优、Linux是否熟悉常用命令、文件读取的时间估算,是什么影响了文件读取速度4.其他:讨论了一下2B 2C的应用不同之处
三、技术三面(一个小时)
(一)项目经验项目中遇到哪些难点找一个有代表性的项目说说其架构,追问了实现细节;
(二)技术
1.架构领域模型设计原则、微服务设计原则(拆分的思路)、架构设计原则;
2.数据库设计索引,考察联合索引;
3.分布式分布式事务一致性:有几种,TCC是哪种常用的消息组件,消息中心遇到的一些问题、堵塞时的流控怎么做。
三面挂了,状态不太好,可能是谈论架构的一些概念和设计原则时没答好,平时这些理论东看一点西看一点的,而面的架构岗位又没有针对性地做准备。另外数据库索引考察这块也没答太好。
面试感受:很好;面试难度:有难度;面试来源:社会招聘