「校招季」怎样做一个漂亮的项目介绍 And 面试官到底在考察什么?

为什么要重视项目介绍?

你可以尝试着讲一遍你的项目经历。我第一次讲的时候就挺乱的,卡壳、专业词汇匮乏、逻辑混乱、用词不当、没有介绍到项目重点……

项目经验面试在面试中占很大比重,面试官通过一些专业性的技术问题来了解你的技术水平,问题从哪来?要么来源于结构化面试题库(每个面试者的问题都一样,多出现在校招一面),要么,就是从你的简历中项目经验来。所以对项目整体而深入复习的重要性不言而喻。

介绍项目时面试官会考察应聘者的沟通能力和思考能力,我们大部分情况都是做产品的一个功能或一个模块,但是即使是这样,自己有没有把整个系统架构或产品搞清楚,并能介绍清楚,为什么做这个系统?这个系统的价值是什么?这个系统有哪些功能?优缺点有哪些?如果让你重新设计这个系统你会如何设计?这些都是值得你好好思考的。

项目介绍思路

这部分技巧对简历上的项目介绍也是通用的。

  1. 首先用一句话介绍这个项目做了什么,打个比方,我使用XX 框架实现了一个 XX

  2. 主要功能

    挑亮点和创新点讲,细碎的功能点一句带过。

  3. 然后讲基本的实现:主要运用到的技术点有XXX。

    (这里面试官从你介绍的技术点切入考察,所以要好好回顾复习项目中运用到的技术点细节。)

  4. 架构

    (面试官还会问一问为什么你选了这样的架构/方法来实现。)

  5. 我在项目中的角色

    主要介绍项目中的职责和作用,是多面手 or 组长 or 技术 。这点主要凸显你的工作量和贡献率。

注:可以在简历上附上项目github地址,上传重点功能的演示 gif ,让面试官可以很直观地评估你的项目规模和难度。

面试官会考察些什么?

知己知彼,摸清面试官心理,你才能有针对性去准备。

1. 能力、技术
  • 考察深度:深入了解哪个技术?

    整个项目中用到了哪些开源框架?他们的实现思路是什么?你看过他们的源码吗?你不仅仅是要会用开源库和第三方SDK,还需要知道实现原理和技术细节。不然一个都是第三方堆砌起来的App,问这个说不了解,用的第三方框架,问哪个说不了解,用的SDK,你还要面试官问什么?[摊手]

  • 考察广度

    在进行技术选型的时候,你有过什么考虑,做过多少调查。详细地了解不同的工具/框架 思想的对比。最后是什么原因,你选定了这个技术。记住一句话:技术没有优劣,只有合不合适。功能点的实现方式有很多,往往选择的是最适合的。

    同时面试官可能会考察你是否关注产品数据,是否关注合理的工作流程,是否关注前后台交互时的相关知识和流程,是否关注测试自动化、持续集成等其他方面。

2. 潜力
  • 做项目中怎么解决问题?

    主要展示自己解决问题的思路。

  • 举一反三的能力

    面试官会提出和项目技术类似的点,考察你是否能将新知识点联系到已学的技术,然后尝试解决它。

  • 优化项目哪些部分

    面试官意在考察你的思考力和动手能力,开源库多多少少都会有坑,你是否在应用中排查出坑并且能埋坑。

  • 如何快速学习项目需要的技术点

    首先,找资料顺序是:官网文档->权威书籍->google->StackOverflow->博客。其次,新技术的学习非常考验基础。打个比方,没学过RxJava,但是如果你知道设计模式的观察者模式,理解起来就很快。

3. 细节
  • sdk的细节了解在哪里

    自己造轮子确实费时间,但是你又是否知道SDK做了哪些优化?

  • 自定义控件优化

  • 作品对比

    自己的项目有没有和市面上的竞品比较过,客观地评价下从别人的作品中学到了什么,基于此你有没有改进自己的作品?

  • 算法

    主要是一些坑和解决思路、解决的灵感来源等,在项目中肯定会涉及到数据结构,比如缓存最近100条点击记录,超出100条则移除最早缓存的记录,自己实现。可能你会想到用队列或堆实现,那可以去看看缓存算法Lru算法的原理,用的什么容器,为什么这么设计?

4. 主动性
  • 是否做过知识总结、知识沉淀?(这就是平时注重博客积累的好处了)
  • 是否实践过知识分享?
  • 是否主动给项目提出过意见或建议?
5. 沟通能力

在面试的过程中,悄声无息进行的还有另一项考察 —— 沟通能力。想想自己面谈时是否能让面试官感觉舒服,是否能清晰表达自己的要点,是否能清晰表达自己未来的个人发展规划。可以尝试模拟面试录下音,看是否有过多的语气词表达出的不自信。

6. 例子

说了这么多,搞个直观的例子谈谈。

问:

项目中推送是怎么实现的?

答:

刚开始做推送的时候,对目前主流的推送方案大致了解了一下。发现推送实现不止一种。

(展示技术选型和方案,简单谈下就ok)

(1)GCM服务

优点:Google提供的服务、原生、简单,无需实现和部署服务端。

缺点:该服务在国内不够稳定、需要用户绑定Google帐号。

(2)XMPP:

优点:开放性,标准性,可扩展,跨平台,且已有开源项目。

缺点:数据冗余(基于XML),不支持二进制数据,协议虽然完整扩展性虽然好,它耗费网络流量很大,跑起来比MQTT慢很多;有高达70%的流量是耗费在XMPP本身的标签和编解码上面。

(3)MQTT

优点:协议简洁、小巧、可扩展性强、省流量、省电。

缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。

(4)HTTP轮循
优点:实现简单、可控性强,部署硬件成本低。
缺点:实时性差。

(体现技术细节)

所以后续选型,我选择了 XMPP + MINA + AndroidPN 来实现推送。

(体现项目优化改进之处,体现自己的思考和能力,对开源项目进行改造)

但是 AndroidPN 开源项目也存在一些不足之处:

  1. 如果将消息从服务器上推送出去,就不再管理了。

    我的做法是:客户端收到推送后给服务端一个反馈,如果服务端在一定时间内没有收到反馈,则重发。

  2. androidpn服务器收到消息后如何知道要发给哪个用户?

    所以我加了个tag维度来做用户分组

  3. 一旦服务器重启了,客户端似乎不会自动重连,需要用户自己中断后台Service再重启应用。

    完善的方法是加上心跳机制和断线重连

  4. AndroidPN服务器不保存消息。就是说它一有消息就会发出去,即使客户端根本不在线,它也不会重发。

    解决方案是让服务端保持对客户端状态的监控

再问:

怎么不用现有的极光推送?

答:

极光推送初始的版本文档不全,接入麻烦,同时我对推送的原理很感兴趣,所以想自己实践下。

问题示例

最后,是面试官针对项目面试可能提出的问题汇总。

  • 你参与的项目是独立完成的还是团队协作完成的,在团队里是什么角色?是负责人还是参与者?

  • 项目执行过程中的难题你是怎么处理的?

  • 问一些专业性的技术问题来了解你的水平。

  • 如果是没有明确结果的项目,你从项目里学到了什么,有什么经验教训?

    看你的项目经验,还有思维逻辑性,对项目整体的认识,包括技术的选型和架构的设计等等。

  • 项目技术点具体的使用场景,比如多线程的控制、性能优化、数据库设计、加密混淆等等。

  • 挑一个你最熟悉的项目讲讲吧。

  • 讲解你是怎么从0到1对项目进行开发和改造的。

    题目确立 -> 产品需求开发 -> 概要设计 -> 详细设计 -> 测试用例 -> 编码 -> 测试 -> 优化 -> 宣传视频海报的制作。

开放性问题

当然,存在有的面试官倾向于问一些开放性的问题。主要看重你是如何解决问题的,看你的思维方式是怎么发散的。

比如面试官问我,你为什么觉得你做的产品就比别人好?你为什么要对你们的产品进行性能优化,主要瓶颈在哪里?你是通过什么方式进行优化?你优化的点是怎么考虑的?你在使用第三方服务是处于什么目的,你对它的评价是什么,它们给你带来的好处是什么?让你去思考如何更好的为开发者提供服务,你觉得还有什么东西是开发者需要的?你对开发工具类产品感兴趣吗?

可以从这些问题看出,面试官并不仅仅看重你的技术能力,还有你对产品的认识。面试官想找的人不仅仅要在技术上有亮点,还有其他方面能吸引到他们。

最后

最重要的一点:不知道的技术点不要不懂装懂。很多时候我们都会遇到一个情况,就是面试官的问题我不会,这时候大多数情况下不要马上说我不会,也不要糊弄回答,要懂得牵引,转移话题往类似的你擅长的技术点方向去,不然当你抱着侥幸心理随便回答出问题后,面试官会一直沿着往下深挖,挖到挖不出来为止,这就很尴尬了。

关于面试,你可能还想知道:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容