我们的前端工程师和后端工程师有同样的过程,例如考算法和编码。因为前端工程师要开发系统中面向客户的部分,所以我们希望应聘者要有一定的编程基础。现在就开始谈谈我们的面试过程。
为什么要专门针对设计工程师设计面试?
我之所以喜欢呆在Palantir的前端工程师团队里,很大一部分原因是因为我们可以全程参与产品UI界面的设计及实现的过程。工程师可以和其他工 程师以及设计师共同参与产品的设计,我们可以公开地讨论我们的想法。UI设计师的面试应该模仿这种合作设计和讨论的过程。这就意味着在面试过程中,会要求 你设计或评价一、两个UI设计,同时会考验你的协作与讨论能力。
下面将给出几点有帮助的建议,在面试中处理相关设计问题时可以牢记。
一切都是为了用户
用户是任何界面成功与否的裁决者。如果用户可以简单、高效、在直觉地引导下轻松完成任务,那我们所做的就成功了。所以我们在做设计的任何阶段都要把用户放在心里。
我们在设计之前最容易犯的错误就是把我们自己当成用户。和电脑工作本来就是一个很孤独的工作,它很容易让我们忘记每个人会用不同的方式去体验一个用户界面。凭借你设计的界面,用户可以成为一个完全的新手,也可以成为一个熟练的系统管理员。
想像用户喜欢什么,是很重要的。先塑造一个用户,包括他的姓名、年龄以及职业。然后问自己下面这几个问题:
● 在什么情况下,用户会用到这个功能?在工作时?在家里?还是在10步之遥的电视前?
● 以前他们用过类似的界面吗?
● 他们使用电脑的能力如何?他们会复制、粘贴吗?会打开内容菜单吗?等。
当为一个界面添加新功能时,首先为主要控件(按钮、列表、文本框)画一个草图。然后模拟用户使用该功能方式。
当草拟你想象中的界面时,请设身处地地为用户想想。这时可以问自己以下几个问题:
● 当他们想做X这件事时,他们可以怎么做?
● 他们如何发现这个功能?
● 接下来他们想要做什么?
● 他们做X这件事的频率是怎样的?
● 一旦X这件事失败了,可能会发生什么?
如此之类的问题。问问自己这些问题,考虑这些问题可以给你的设计带来哪些影响,并在设计中进行修改。
面试是一个很重要的交互过程
一些面试者不好意思反驳面试官。其实我们更喜欢相反的观点。如果你有什么好的主意,不妨表达出来。我更喜欢反驳我的面试者,只要他可以通过辩论、来很好地支持他的观点。你越清晰地描述你的观点,越好。
要具有创造性,但不要重新设计已存在的功能
我曾看见很多面试者仅为显示一些非常简单的数据而陷入到十分尴尬的设计圈套中。如果你有一组数据,使用列表显示它们就可以了。一般来说,熟悉UI知识是很有帮助的,因为他们已解决了很多设计难点。
你设计的界面要让用户快速、轻松地完成任务,否则就停止这个界面设计。不要添加一些无关紧要的功能,而负累整个用户界面。正如 Deiter Rams 名言“好的设计越简单越好”。这不仅适用于界面设计同样适用于产品设计。
如果你想快速、容易地判断出新加功能的简便性,仅需要数一下在这个界面上用户需要点击几下才能完成这个任务。如果用户必须要从鼠标转移到键盘上,转换一次记数为二。
如何做准备
如果你曾经做过设计工作,并有团队协作,我们这欢迎你,你将会做得更好。如果你还没什么经验,下面几个方法可以帮助你提高设计技能:
● 如果你仍在上学,建议多参加一些基于项目的课程。这样可以让你获得更多实际设计经验。
● 要利用一切机会培养你的设计观念。不断地问自己:“如何才能设计得与众不同?如何才能把它设计得更好?”你问得自己越多,他们就越会变成一种无意识、自然的行为。不久你就会更加想了解日常生活中关于所有事情的设计。
● 真正设计一些东西,并关注UI。
● 请人评论一下你的作品。让有设计经验的人看看你的设计作品,他们会指出你从未发现的问题。