分享

作为面试官,在面试程序员时,都会关注哪些问题?

 爱开发 2022-08-02 发布于广东

每晚10点,捕获技术思考和创业资源洞察

“临时抱佛脚有什么用”,确实,准备的结果可能90%都不会被问到,但是准备了心里会踏实很多,面试时会表现得更加的自信。

文|洪生鹏 编辑|静子

程序员面试,考查的能力一般可以分为两种:

  • 技术能力
  • 非技术能力

技术能力一般可以理解为编码能力、系统分析与设计能力,而非技术能力包括沟通与协作能力、组织与团队管理能力。

和其他岗位相比,从事程序员行业大多数人相对来说会内向一些,思维也会更严谨、更富有创造力。企业招聘程序员要求他能和团队一起完成开发任务,所以一般会重点从技能水平、学习能力、团队合作及沟通能力等几个方面考察程序员。

其中技术始终是面试成败的决定因素,也是对程序员最基本的要求,现在很多企业会通过笔试这一环节来辅助考察求职者的技术水平。技能的考察主要看求职者技能匹配度、对技术发展趋势的了解。面试时,我们应该从哪些方面做好面试的准备,才能更好的面对面试呢?

01、对于每一次面试,要做到有备而去

没有准备的面试,那是在浪费自己宝贵的时间。在去面试之前我们要了解企业的基本面信息,如注册资金、股权结构、税收方面信息等;尽可能的去了解公司的主要产品、市场渠道等。

程序员面试,一般流程少了技术面和HR面试

对于HR的问题一般都很简单,基本是“自我介绍、为何离开上一家公司、你找工作最看重什么困素、你对我们公司了解多少、谈谈你的优缺点、期望的薪资

这些问题对于工作多年的人来说问题不大,但对于职场新人来说,还是很要认真准备一下的。在自我介绍中你肯定会提及自己的开发经历、开发过项目等,这些信息后面会成为HR和技术官对你能力的评估,需要认真准备有的放矢。

02、简历上也要多下功夫

看过几位求职者简历,简历上技能一项写得跟招聘信息似的,很全面,一些熟悉之类的,熟悉自定义View、熟悉多线程,熟悉内存优化处理,熟悉开源框架等。笔者认为对于已经写了熟悉的知识点,一定要是真的熟悉了,要是面试官问起,就应该能够很好的阐述,并且举一些相关优化的例子。不能一问就露出马脚,面试时,专业知识点基础要做好充分准备,如果时间紧,来不及做充分准备,起码也要大致浏览一遍。 有人说“临时抱佛脚有什么用”,确实,准备的结果可能90%都不会被问到,但是准备了心里会踏实很多,面试时会表现得更加的自信。

03、态度要真诚

对于自己不会的问题老实大方的承认就是了,不懂装懂只会给面试官留下不好的印象。有次,我问一位求职者有没有对接个支付宝支付SDK,因为我们是做电商项目。他说,做过。我又问他,要是用户安卓手机没有安装支付宝App时,是不是就支付不了。他说这种情况下可以提示用户安装支付宝App。可官方提供的SDK是要是用户手机没有安装支付宝App,SDK会调用自带的H5PayActivity进行支付,很显然该求职者撒谎了,没做过就没做过,坦诚一点,没什么的。

04、选择要有理由

为何要提这个,有次我在面试一位一年多开发经验的Android应聘者时,问了这样一个问题,平时加载网络图片呢是用第三方框架还是自己封装的?下面是我们的对话:

平时加载网络图片呢是用第三方框架还是自己封装的?

“用第三方框架”

“用哪个框架?

“Glide”

“Picasso,Fresco这些框架也挺不错的,为何你会选择这个Glide框架呢?能否简单说说,比如性能方面?

“这个,没有研究过,我们项目中用的就是这个”

“那有没有和其他图片加载框架对一下简单的对比”

“没有”

其实我的初衷是想知他有没有对Glide框架源码进行了解,或者Glide框架的体积包相对其他框架较小。

当选择某个开源框架运用到我们项目中时,最好对其要有所了解,特别是面对同一类型多个开源框架时,选择的时候,尽量多和其他开源开源对比下,这样更有对该框架的了解。

05、平时多总结

工作中,有的知识积累往往相对比较零散,需要我们思考汇总,从而形成自己的理解,围绕自己的职业目标,有意地获取和提高自己的知识范围,塑造有利于自己职业生涯的知识体系。

我刚从事软件编程时,基础比较薄弱,有次领导安排的任务,虽然之前也有听过类似这样的需求,但却未真正实践过,当自己动手做时,才发现很多问题自己掌握得并不透彻,特别对表结构设计不熟悉,索引外键等知识点都是模糊两可的。

于是上班路上想,下班回家后也再想如何解决。不怕你笑话,那时一门心思只想把事情做好,真担心因为没有做好而被老板炒鱿鱼。都怪当初自己刚学习编程,好多知识点自己都是一知半解,没有去深入理解,导致有的知识点都是停留在概念层面上。

作为技术员,我们平时要注意积累,比如写博客等,这样有助于我们对知识点更好的梳理和掌握。那么我们平时如何积累面试中需要的技术,我觉得阅读源码是一个不错的选择,因为面试中的很多问题我们都可以从源码中找答案,要主动学习平时工作中遇不到的一些技术,由于工作的原因,我们不可能通过公司的项目来解除到Android中所有的重要技术,尤其是一些规模不大的项目来说,这个时候需要我们主动去学习。比如AIDL原理、Binder机制、多进程、View的绘制流程、事件分发、消息队列等。这类知识点,需要我们不断去探索实践,运用才能更好的解决问题。

笔者认为,面试时,首先要将自己的技术能力展现出来,以一种交流的心态去面对,尽量不要过于紧张,要有自信,即使面试失败也要总结失败的原因,从而找到自身的不足加以弥补,有总结我们才能更好的应对下一次面试。其次,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

你可能还喜欢

从《色戒》,看人性的欲望

《色戒》被禁的三段激情床戏

分享职场攻略、技术心得和创业资源

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多