怎么判断web前端架构师能力高低?看看这些问题吧

综述:找到自己和架构师之间的距离

架构师是很多程序员梦寐以求的title,但是在我的成长过程中,看到了太多因为架构问题失败的项目。很多架构师其实还停留在应用技能会用的阶段,基础很差。一方面,可以从问基础知识,考察基本功甄别;另一方面,可以从考察具体的架构问题甄别;最后,可以从考察项目甄别

题目不全,主要给大家体会下我的思路,大体大家可以感受下:

1. 先写程序(然后聊聊算法和数据结构)架构师不会写程序,肯定不行的;完全不懂算法,也是不行的

  • 简单的开始:斐波那契数列/复杂度多少?- 必须对
  • 递归(反转链表/汉诺塔/全排列/求组合/所有子集/回溯等)- 必须对
  • 亿级规模整数排序/内存很小硬盘很大排序(等等) - 能说上一部分

2. 针对具体场景考一个可以无限延伸的开放问题

比如说一个react/vue页面有20个组件都要发请求,而且有的组件不止发一个,而且每个组件的生命周期自己维护,如何设计整体结构,如何避免重复请求,如何提升速度,如果让程序架构清晰。

上述问题可以无限延伸:

比如: 前端框架/hOC/装饰器/观察者模式/继承和组合/多线程/时序数据处理/虚拟化/动画/浏览器内核/兼容性/程序范式/状态管理……

延伸比如问: 如果这些组件可以拖拽如何设计系统? 虚拟化如果想要不仅仅支持列表结构如何做? 浏览器同时可以发多少个请求?数据压缩有哪些方法?……

大家有木有发现这样一道题目,就能把人的水平问得很清晰了? 这是一种开放问题,在面试架构能力的时候很常见。

3. 操作系统/网络

  • ping一个网站100ms,http请求返回多少ms
  • arp攻击是怎么回事
  • https协议抓包如何做
  • 如何实现一个线程池(前端也可以问,好点的一般不止懂一门语言)
  • 操作系统中断
  • TCP/IP协议

4. 问项目,主要是看看事情的难度,和人的能动性

  • 举一个重构项目的例子
  • 举一个自己推动事情,克服困难完成的例子

5. 问问Linux,架构师肯定要负责线上稳定,linux是必备技能

  • 日志文件求一列的和(shell)
  • 反转一个代码文件
  • /etc目录和/proc目录做什么用的

6. 问问知识面

  • 问问有没有服务端经验
  • hybrid和js是如何通信的
  • 有没有学过其他语言
  • 看过什么书

7. 问出阅读过源代码数量

一般好点的应该过10w行了,而且是真的读了很多,了解多个架构;已经不是停留在语言的表面级别的了

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值