作为一名java程序员,求职面试时,时常会遇到一些开放性题目。
张工是一名java程序员,最近到某知名互联网公司面试,面试官就提了这样一个问题:
我看你简历上写着熟悉kafka,如果让你自己写一个消息队列,该如何进行架构设计?简单说说一下你的设计思路。
张工被面试官这么一问,有点不知所措。
其实面试官问这个问题无非就是考察两点:
既然简历上写着熟悉kafka,正好考察你对kafka消息中间件有没有做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理;
考察你的设计能力,能否从全局把握一下整体架构设计,给出一些关键点出来。
面试时,遇到类似这样的开放性题目,相信不少人会有点懵,因为平时就没有思考过类似的问题,突然来这么一问,有点出乎意料。
类似的问题,比如,如果让你来设计一个图片加载框架你会怎么做?
我在面试一位Android求职者时,问了这样一个问题:
“请问你加载网络图片是用第三方框架还是自己写的?”
“用第三方框架”
“用哪个?”
“Glide”
“Picasso,Fresco这些框架也挺不错的,为何选择Glide呢?能否简单说说,比如性能方面?”
“这个,没有研究过,我们项目中用的就是这个”
“那有没有