开发者社区> 问答> 正文

假设你是面试官,你会如何考核面试者的专业技能?

4000积分,天猫精灵万能红外遥控器*3

转眼又到了金三银四求职(跳槽)旺季,那既然是求职,肯定就会有层层面试关卡等着我们,相信大家在求职的过程中,都经历过各种各样大大小小的面试,有的时候我们能够在一场面试中和面试官相谈甚欢,也有的时候会感觉自己和面试官不在一个频道上,觉得面试官问的问题不能将自己的专业技术能力充分发挥,结合你的专业领域,你会通过哪些问题来考察面试者的技术能力呢?欢迎参与本期话题讨论!

本期奖品:

截止2023年3月22日24时,本次话题将选取3名高质量的回答,奖励天猫精灵红外遥控器*1。

天猫精灵遥控器.jpg

注:话题讨论要求原创,如有参考,一律注明出处,否则视为抄袭不予发奖。获奖名单将于3个工作日内公布,礼品将于7个工作日内发放,节假日顺延。

本期话题截止3月22日24时,共收获92条回复。看到大家的精彩讨论小编想说:感谢大家贡献的高价值回答!本次奖品获奖名单如下(公示期3天):

LittlePenguin、huc_逆天、Carl_奕然

展开
收起
提个问题 2023-03-14 10:13:49 36652 624
97 条讨论
参与讨论
取消 提交讨论
  • learning is like sailing against the tide!

    作为一名计算机+管理学专业的资深人士,我在面试过程中通常会通过以下几个方面来考察面试者的技术能力:1、基础知识考察:我会先从面试者的基础知识开始考察,例如数据结构、算法、操作系统、数据库等方面的知识。这些基础知识是计算机领域中非常重要的一部分,能否掌握这些知识往往决定了一个人在后续工作中的表现。例如,我可能会问面试者如下问题:--请简要介绍树和图的区别? --什么是进程和线程?它们之间有什么区别?2、技术实践考察:除了基础知识,我也会考察面试者的技术实践能力,例如是否能够独立完成一个项目的设计、开发和维护。在这方面,我可能会问面试者如下问题:--请介绍你过去做过的一个项目,你在其中承担了哪些角色? --你是如何解决遇到的技术问题的?请举例说明。3、沟通能力考察:在实际工作中,沟通能力同样非常重要,因此我也会考察面试者的沟通能力。例如,我可能会问面试者如下问题:--请举一个你成功解决团队内部沟通问题的例子。 --你是如何与非技术人员沟通的?你会如何向他们解释技术问题?在问问题时,我会尽可能地让面试者能够展现出自己的专业知识和能力,而不是仅仅记忆了一些答案。同时,我也会尽可能避免一些效果不好的问问题的反例,例如:1、封闭式问题:这种问题只能得到简单的肯定或否定回答,无法展现出面试者的专业知识。例如,问“你会使用 Java 吗?”这种问题只能得到一个简单的“是”或“否”的回答,无法深入考察面试者的能力。2、不切实际的问题:有些面试官会问一些不切实际的问题,例如“请告诉我如何设计一个完美的搜索引擎”,这种问题很难回答,并且也不能准确地反映出面试者的技术能力。3、重复问题:有些面试官会问一些重复的问题,这样既浪费时间,也不能更好地考察能力。而且作为一个多年的面试官,跟大家分享一下,作为面试官如何更高效和高质量地完成一轮面试:1、针对职位和公司要求设计问题:在面试之前,您应该仔细研究公司和职位要求。然后,根据这些信息设计面试问题,确保您的问题能够评估应聘者是否具备必要的技能和经验。您可以为应聘者准备一些技术实践或项目演示,以了解他们的工作方式和解决问题的能力。2、制定面试指南:制定面试指南,包括对每个问题的预期答案以及需要关注的技能和经验。这样,您就可以准确地评估每个应聘者,并在面试过程中更加高效。3、问问题时注意听力和观察力:在面试期间,确保您专注于应聘者的答案并注意他们的肢体语言和情感状态。这将帮助您更好地评估他们的技能和经验,并决定是否继续前进。4、评估应聘者的文化适应性:在评估应聘者的技能和经验时,请确保您还评估他们是否适合公司的文化和价值观。您可以问一些关于公司文化和价值观的问题,以确保他们对公司的理念和目标有充分的了解。5、记录和评估答案:在面试期间,确保您记录应聘者的答案和其他相关信息。在每场面试结束时,回顾每个应聘者的答案,并决定他们是否适合进入下一轮面试或接受工作邀约。

    2023-03-29 12:41:32
    赞同 1 展开评论 打赏
  • 喜欢云计算,人工智能

    作为面试官,我可能会使用以下几种方法来评估面试者的专业技能:

    1. 考察面试者的工作经验:询问面试者过去工作的项目经历、职责和成果,了解其是否具备相应的专业技能和经验,以及是否能够将这些技能应用到未来的工作中。

    2. 看重面试者的作品或项目:让面试者展示他们以前的作品或项目,以此来评估他们的专业技能和创造力。

    3. 进行技术测试:通过测试来检验面试者的技术水平,包括理论知识和实际操作能力。

    4. 聆听面试者的提问:让面试者就相关技术问题向我们提问,并考察其提问的深度和广度,以此来了解其技术水平和专业素养。

    总的来说,除了以上列举的方法之外,面试官还可以采用其他个性化的考核方法来评估面试者的专业能力。重要的是要确保该方法可以全面、准确地了解面试者的技能和能力,以便确定其是否适合该岗位。

    2023-03-24 17:00:05
    赞同 1 展开评论 打赏
  • 在考察面试者的技术能力时,我会通过以下问题来进行考察:

    请介绍一下你最近在做的项目,你在其中扮演了什么角色?这个问题可以考察面试者的项目经验和技术能力,同时也可以了解面试者的团队协作能力和沟通能力。 请介绍一下你最擅长的编程语言和技术栈,以及你在其中的经验和成就。这个问题可以考察面试者的技术深度和广度,同时也可以了解面试者的自我认知和职业规划。 请介绍一下你在编程中遇到的最大的挑战,以及你是如何解决这个挑战的?这个问题可以考察面试者的解决问题的能力和创新能力,同时也可以了解面试者的学习能力和适应能力。 请介绍一下你对于软件工程的理解,以及你在其中的实践经验。这个问题可以考察面试者的软件工程素养和团队协作能力,同时也可以了解面试者的职业素养和职业规划。 请介绍一下你对于开源社区的贡献,以及你在其中的经验和成就。这个问题可以考察面试者的社区参与度和贡献度,同时也可以了解面试者的开源精神和职业素养。

    2023-03-22 13:54:39
    赞同 2 展开评论 打赏
  • 陕西丽彩

    作为面试官,我会通过以下几个步骤来考核面试者的专业技能:

    1.了解面试者的工作经历:我会先询问面试者的工作经历,包括从事的行业、所担任的职位以及具体的工作内容等。通过这些问题,我可以初步了解面试者的专业背景和技能水平。

    2.询问专业问题:针对面试者所从事的专业领域,我会问一些专业性较强的问题,以考察面试者的专业技能和知识储备。这些问题可能涉及到行业的发展趋势、技术的应用、具体的实践经验等方面。

    3.请面试者进行演示或实际操作:对于某些职位,如技术岗位,我会要求面试者进行演示或实际操作。例如,让程序员写一段代码、测试工程师进行软件测试、设计师展示自己的作品等等。通过实际操作,我可以更好地了解面试者的实际技能水平。

    4.参考证书或项目经历:如果面试者有相关的证书或者项目经历,我会要求其提供证书或者项目资料。这些证书和项目资料可以作为评估面试者专业技能的重要参考。

    5.与团队成员进行面试:最后,我会安排面试者与团队中的其他成员进行面试,以了解其与团队合作和沟通的能力。团队成员可以提出更加具体和实际的问题,从而更好地评估面试者的专业技能。

    2023-03-22 10:40:50
    赞同 1 展开评论 打赏
  • 作为一个程序员行业的面试官,我会采用以下方法来考核面试者的专业技能:

    1. 代码能力:让面试者在面试时写出一些简单或复杂的代码,评估其对编码技巧的理解程度以及实现算法的能力。这可以通过给出一些具体的问题和案例练习来实现。

    2. 编程实践:对于程序员而言,实践能力是很重要的。因此,我会询问面试者自己完成过哪些项目,并要求他们详细介绍这些项目。另外,我也会询问他们在团队工作中的角色和经验。

    3. 理论知识:我会考察面试者对计算机科学和编程范式的理解程度。这可以通过提出一些算法、数据结构、设计模式等问题进行考核。

    4. 技术趋势:我会考核面试者是否了解当下的技术趋势,以及他们对未来发展的预判。我会询问他们最近有什么新技术学习过,分享对这些技术的看法。

    5. 沟通能力:面试者是否具有良好的沟通能力和团队协作能力对于工作效率和团队合作至关重要。因此,我会在面试中刻意留出一些时间与面试者交流,考察他们在沟通和表达上的素养。

    总体来说,我认为面试者的实际工作经验和实践经历是最重要的考核点。其他方面的考核只能作为补充。

    2023-03-21 21:24:20
    赞同 1 展开评论 打赏
  • 如果我是面试官,我提前准备好相关问题,以下是我根据经验总结出来的一些点

    1、对不同的岗位编写不同的问题,这些问题应该与面试者的专业技能有关。比如,如果我们招聘的是一名软件工程师,我们可以询问他们对某项编程语言或技术的了解程度、项目经验等。这些问题应该有针对性,能够真正反映出面试者的实际水平。

    2、要求面试者展示相关工作或项目经验:面试者的简历可能已经列出了他们的工作或项目经验,但我们需要更深入地了解他们的实际能力。因此,我们可以要求面试者展示他们的相关工作或项目,以便了解他们的技能水平、工作流程和解决问题的能力。

    3、考察面试者的解决问题能力:在工作中,面对各种问题是不可避免的。因此,我们需要考察面试者的解决问题能力。我们可以提出一些具体的问题,让面试者尝试解决,看他们的思路和方法是否正确合理,是否能够快速找到解决方案。

    4、测验面试者的技术能力:在某些职位中,技术能力是非常重要的。因此,我们需要进行技术测验来考察面试者的技术水平。这些测试可以是书面测试,也可以是实际操作测试。这样可以更直观地了解面试者的实际能力。

    5、观察面试者的沟通技巧和团队合作能力:在工作中,沟通技巧和团队合作能力也是非常重要的。对于需要团队协作的职位,我会重点考核面试者的团队合作精神、沟通协调能力和解决冲突的能力,以及是否有分享知识和帮助他人的意识。以及通过行为面试考察面试者在项目管理、协作和团队工作中的能力和经验。通过提出一些实际问题,了解他们的解决问题的思路和方法。

    通过上述多个方面的考核,我能够更全面地了解面试者的专业技能和能力,从而更好地评估他们是否适合职位,并为公司带来价值。

    2023-03-21 20:23:34
    赞同 1 展开评论 打赏
  • 大鹏一日同风起,扶摇直上九万里

    现在面试一般好几轮,比如你要面试的是一个项目开发负责人,类似技术主管岗位,一般好几面,这里主要讲技术面试环节吧。

    第一面面试官估计是相同项目负责人或者是研发经理。可以聊的话题比较多,如果我是面试官,一般会问些开放性的问题,比如在某种场景下,如何设计系统架构,使用什么语言设计前端、后端,后端使用什么框架,要不要上微服务,上容器,上分布式,什么情况下对数据做缓存,使用什么技术对数据结构化做分析,展示等。然后加强点,1000 QPS,10w QPS下的架构瓶颈一般在哪,怎么设计和优化,怎么设计高可用方案,使用降级限流等手段保证高流量冲击下的业务可用等等。这样不断问对方方案,可以立马知道对方的技术能力情况。

    不过现实中遇到很多面试官会将当前公司遇到的一些技术问题抛出给面试者,试图让面试者解答分析下。首先不猜测面试官是否存在其它用意,但确实是一个好方法。因为当前的技术难题自己团队肯定是深入试图解决,但失败了。找第三人去沟通分析,一方面可以复盘问题,有可能在描述问题时,为了让他人理解,程序员会逐渐理清思路,有时还没等其他人给出建议,自己就悟到应该怎么解决了。编程有一个术语叫做"橡皮鸭",描述的就是这样一种情景。如果面试者答上并给到解决方案了,那最好不过,证明面试者技术能力过关,肯定是加分。

    如果你是技术负责人,类似CTO,有可能注重全局观,可以聊下项目规划,公司架构,需要面试者将一些超预期的技术给到,比如当前公司技术有什么问题,对方的到来可以解决,并优化,提升多少能效,降低多少成本等。对方有没有一些开源项目,对社区有所贡献,在圈子里有没有一定影响力,可以给公司带来多大的技术氛围等等。 以上只是一些个人看法。

    2023-03-21 19:10:15
    赞同 2 展开评论 打赏
  • 从事多年SOC/SIEM开发工作; 一个有趣的人;

    我的话,会从以下几个方面了解候选人:

    1.编程能力:我会让面试者完成一些基础的编程题目,如递归、排序算法、字符串处理等,来测试他们的编程能力。这些问题可以考察面试者对Java语言的熟练程度、面向对象的设计思想、数据结构和算法等方面的能力。

    2.开发经验:我会询问面试者在过去的项目中所做的具体工作,并询问他们在开发过程中遇到的挑战和解决方案。这可以帮助我了解面试者的开发经验和项目管理技能。

    3.技术栈:我会问一些与Java技术栈相关的问题,如Spring、Hibernate、MyBatis、JPA等框架的使用和理解。这可以帮助我了解面试者对Java生态系统的掌握程度和技术深度。

    4.面向对象设计:我会让面试者解释一些面向对象的概念,如继承、多态、抽象类、接口等,并询问他们在实际开发中如何应用这些概念。这可以帮助我了解面试者对面向对象设计的理解和应用能力。

    5.代码质量:我会让面试者解释他们的代码风格、注释和代码可读性等方面的考虑,并要求他们展示他们的代码库。这可以帮助我了解面试者的代码质量和开发习惯。

    大概就这些,从中作出最终的评估。

    2023-03-21 15:14:51
    赞同 2 展开评论 打赏
  • 1、问一些基础知识相关的问题 2、介绍以前开发的项目中用到的技术以及开发流程 3、描述他们在这些项目中扮演的角色和承担的责任、开发过程中产生的一些问题和解决问题的方法

    2023-03-21 07:39:37
    赞同 1 展开评论 打赏
  • 一只有趣的未来攻城狮。Java全栈和大数据开发,会一直定期更新文章,你的关注和点赞会让我更快更新哦!

    作为一名技术面试官,我通常会通过以下几种问题来考察面试者的技术能力:

    基础知识:我会问一些基础知识相关的问题,以便了解面试者是否具备所需的基础知识。例如,在前端面试中,我可能会问关于 HTML、CSS 和 JavaScript 的基础知识,如盒模型、浏览器渲染流程和原型继承等。

    项目经验:我会询问面试者在过去的工作中涉及到的项目,并让他们详细描述他们在这些项目中扮演的角色和承担的责任。通过这样的问题,我可以评估面试者的实际工作能力和经验。 解决问题的能力:我会给面试者提供一些具体场景的问题,看看他们在解决问题时的思路和方法。例如,在后端面试中,我可能会问他们如何优化 SQL 查询,或如何排查代码中的性能问题。 开放性问题:我也会问一些开放性问题,以便了解面试者的想法和创造性思维。例如,在移动端面试中,我可能会问面试者如何提高应用程序的用户体验,或如何设计一个更加友好的界面。

    2023-03-20 20:31:43
    赞同 2 展开评论 打赏
  • 柳暗花明又一村

    1-考察项目经验和实践经验。项目经验和实践经验是考察面试者专业技能的重要指标。通过询问面试者在以往项目中的角色和职责、所使用的技术和工具、遇到的问题和解决方案、项目成果和效益等方面,可以了解面试者的专业技能水平。 2-考察编程能力。编程能力是IT人员的核心竞争力之一。通过编程题或现场编程测试,可以考察面试者的编程思维、代码质量、调试能力等方面的技能。 3-考察技术知识和技术视野。技术知识和技术视野是IT从业者必备的素质之一。通过询问面试者对行业前沿技术和趋势的了解、对所应聘职位所需技能的掌握程度、对其他技术领域的兴趣和了解程度等方面,可以考察面试者的技术知识和技术视野。 4-考察解决问题的能力。IT从业者需要具备较强的解决问题的能力,包括分析问题、确定解决方案、实施方案和跟踪效果等方面。通过询问面试者在以往工作中遇到的问题和解决方案,可以考察面试者的解决问题的能力。 5-考察沟通能力。沟通能力是IT人员必备的技能之一。通过询问面试者在以往工作中与团队成员、客户和其他利益相关者的沟通情况,可以考察面试者的沟通能力和协作能力。 6-考察学习能力和适应能力。IT行业的技术更新非常快,IT从业者需要具备良好的学习能力和适应能力。通过询问面试者在以往工作中学习新技术或新工具的经验,以及如何适应新环境和新挑战,可以考察面试者的学习能力和适应能力。 7-考察职业规划和发展意愿。IT从业者需要具备职业规划和发展意愿,这可以体现其对行业的热情和追求。通过询问面试者的职业规划和长期发展目标,可以了解面试者的职业追求和发展意愿。

    2023-03-20 19:11:44
    赞同 1 展开评论 打赏
  • 作为技术面试官,我会提出以下几个问题来考察面试者的技术能力:

    1. 请介绍一下你在开发项目中的实践经验,针对哪些技术难点做过优化?

    通过这个问题,我可以了解面试者参与过的项目类型、所负责的技术内容以及具体的解决方案等。

    1. 请问你有接触过哪些技术框架?说说你对它们的理解和使用

    这个问题可以考察面试者对于技术框架的了解程度和是否有实践经验,同时也可以了解他们的技术思路和解决问题的能力。

    1. 请问你是如何保持技术学习和更新的?

    通过这个问题,我可以了解面试者是否具有持续学习和主动学习的精神。在不断发展的技术领域,拥有不断学习新知识的能力非常重要。

    1. 请谈一下你的程序设计思路,如何保持代码的高质量和高效率?

    这个问题可以了解面试者的程序设计思路和编程风格,以及他们如何在优化代码质量和效率方面加强自己。

    除此之外,在面试中还可以根据具体面试职位的要求,提出相关的深入探究技术性问题或者发散性的思考问题等,来全面考察面试者的技术能力和解决问题的能力。

    2023-03-20 16:14:59
    赞同 1 展开评论 打赏
  • CSDN专家 全栈领域优质创作者 华为云云享专家 操盘过电商,也负责过游戏,目前混迹在元宇宙中,针对虚拟现实等新一代信息技术如何赋能元宇宙领域开展深入研究,主要负责云渲染方向。

    假设我是面试官,首先,作为后端岗位的招聘,我会从以下几点来考核面试者的专业技能:

    1、代码能力:因为身为一个后端开发人员,代码能力是职业上的基本能力,会提出一些简单的算法,让他当场手写,来考察他的逻辑思维能力和编写代码的能力,当然不要求最后能出正确的结果,这个只是看他思考问题的一个过程。

    2、理论知识:代码能力考查的是实战能力,那么理论知识,就主要考察他的技术栈或者技术池有多深,有多广,因为业务实战中,肯定会或多或少都会遇到一些千奇百怪的问题。

    3、沟通能力:在实际中,后端开发人员,也会进行组内沟通,和产品沟通,上级汇报等等,所以有一个好的沟通能力,在事情的处理上能够事半功倍。

    2023-03-20 15:03:38
    赞同 1 展开评论 打赏
  • 作为一名面试官,我会结合候选人的专业领域和职位需求,提出以下问题来考察面试者的技术能力:

    请介绍你掌握的最新技术或工具,以及你在其上的实际应用经验。 这个问题可以考察面试者是否了解最新的技术趋势,并且能够将其应用到实际项目当中。

    如果有一个非常复杂的任务需要完成,你会如何分解这个任务,以及如何组织团队来协同完成? 这个问题可以考察面试者的项目管理和团队协作能力。

    请谈一下你在遇到技术难题时是如何解决的?你通常采取哪些方法查找和处理此类问题? 这个问题可以考察面试者的解决问题的能力和调试技能。

    请描述一下你最近做过的一个项目,包括你扮演的角色、项目的目标、你所负责的部分以及你所使用的技术。 这个问题可以考察面试者的项目经验、技术实践能力和合作沟通能力。

    请列举几个你认为自己擅长的编程语言,并说明你在这些语言上的熟练度水平。 这个问题可以考察面试者对不同编程语言的掌握程度和技能评估能力。

    2023-03-20 14:23:45
    赞同 1 展开评论 打赏
  • 如果我是面试官的话,我会从两个方面了解面试者的技术能力.

    作为技术面试的话,会介绍公司的一个技术栈,然后会去提问面试者对技术栈中一些处理方法的掌握程度.在算法上,某一个算法的底层原理是否清楚?能不能把算法的流程原理讲明白?还是只是会调用某个方法?对于数学中的线性代数掌握的如何?从这些问题判断面试者的基础开发能力是否合格.

    在面试者回答的过程中,观察回答者回答时候的一个逻辑思维,能不能逻辑清楚的表达出自己的观点.

    2023-03-20 11:19:55
    赞同 1 展开评论 打赏
  • 管住嘴,迈开腿。一个努力接受现在的自己的程序员。

    基础技能:如基本的实现原理是什么,如果扩展,项目中如何使用? 变通能力:例举特殊场景,应用所学技术如何设计,遇到问题如何处理等。 过往项目中,遇到并自己解决掉的最难的技术问题是什么?这里基本就可以知道以往项目所使用技能水平的深浅。 最后问一些学习计划,以及学习心得。考察的是自主学习能力和潜力。

    2023-03-19 17:32:01
    赞同 1 展开评论 打赏
  • 对于招聘新员工,以前非常关注技术能力,对于其他方面要求不高,但在项目进行下来,发现态度往往比技术能力更重要。只要态度端正,肯学上进,即使进公司时能力一般,但经过一段时间的培养,基本能够具备开发能力,然后经过一到两年的培养,能够独立负责一个模块的开发和维护,这种情况在应届生中尤为突出。

    以往态度:能力可能是2:8,现在完全可以达到4:6,并且这种比例的员工不会经常跳槽,公司培养不易打水漂,不用太多担心核心技术外泄,在团队协作上比较顺畅,能够形成良好的工作氛围,最大程度保证项目如期完成。

    2023-03-19 16:27:39
    赞同 1 展开评论 打赏
  • 要求面试者评审一份给出的代码,并根据其代码质量、结构和设计进行评估,以考核他的代码质量和编程能力。或者给面试者提供一个未知的问题,并要求他们在一定的时间内解决问题。这种考核方式可以考察面试者的解决问题的能力、思考能力和应变能力。又或者性能调优是比较实际和具体的考核方式,可以考核面试者的性能调优能力和实战经验。但是这种方式也有一些缺点,例如面试者可能会对某些具体的性能问题不熟悉,或者对性能调优的方法和技术不够了解。

    2023-03-19 16:03:08
    赞同 2 展开评论 打赏
  • 专业技术

    技术的考核我一般会先问三四个简单的问题,比如前端中的flex布局,js字符串分割,js数组合并,js数组去重等经常在项目中使用的方法;如果这些问题回答上来了,在我心里认为是经常写项目的,有一定经验的,下一步就开始聊面试者做过的项目,先由面试者做简单的介绍,再由我们互相探讨项目中一些不好实现的点,和实现的逻辑方法,项目上线后的一些维护,数据等;接下来我会分享一下公司内部目前使用的技术栈,和Ta的技术栈做一个碰撞,看符合度大概多少,互相的容纳度是多少,做一个简单的评估。

    还有就是专业的素养问题,比如代码备注,命名是怎么命名的,项目责任问题等一些简单的聊聊~

    我更注重的是语言沟通能力

    因为技术行业做项目,沟通是很重要的,没有良好的沟通,正确的理解度自然就会大打折扣,甚至有些方面沟通不好还能带来很大的弊端。技术组内每个人的沟通能力至少都要在一起起跑线,产品,负责人的沟通能力要更强一些。

    2023-03-19 11:05:38
    赞同 2 展开评论 打赏
  • 要去负责技术面试,帮助公司和团队招募人才,就是一个职业上升通道的必攻克项。于公司、于团队、于面试官来说,管理成本和团队建设都是逃不开的两个关键词。而面试,就是在有限的时间内,评估候选人是否“合适”的最佳方式。

    首先面试中要避免一些知识性问题、过于常见的问题、规则过于复杂的问题。

    在技术层面上设计问题主要关心开发者的基础能力,这是干活的技能,包括:实际问题解决能力,代码设计和实现能力,系统分析设计能力。

    一个典型的实际问题的解决,需要包含两个部分:把具体问题抽象成若干个可解决的软件问题;再使用软件工程的知识与技能去解决这些问题。

    其次是代码设计和实现能力,这是软件工程师的基础技能,就如同厨师切菜和钢琴师读谱一样,都是看家本领,自然要花相当比例的时间设计问题来验证这一点。

    系统分析和设计能力,对于系统的理解,就如同数学的基础是初等算术一样,还是要把根基打扎实。包括是否能够针对问题给出合理的系统估算、架构设计等等。这一部分是和经验密切挂钩的。

    在实际面试和考察的过程中,专业技术层面的指标相对容易辨别、容易执行,也往往是作为一个“技术人”的考察重点。而非技术层面关注开发者的基础品格、团队合作能力、学习能力、沟通能力,以及任务管理能力等等。

    对于踏入职场不久的工程师,要更关注潜力相关的素质,比如是否能够听从建议并加以思考,以及是否具备兴趣与热情,因为这是学不到的东西。而对于有丰富经验的工程师,要更关注视野,技术理解的深度,以及职业素养。

    面试开发者不是要找到最厉害的那个人,而是和公司一起共赢的那个人。

    2023-03-19 08:05:13
    赞同 2 展开评论 打赏
滑动查看更多
问答标签:
问答地址:

话题讨论榜

  • 1
    你见过哪些独特的代码注释?
    奖品池:4000积分,保温杯*2,运动腰包*4
    56

    要说独特的代码注释,真的是见过不少,尤其在做外包项目时修改别人代码的过程中,有时候会被独特的注释逗笑了、气哭了、无语了…… 彩蛋注释:在代码中隐藏彩蛋,以供其他开发者发现。比如: // TODO: Write awesome code. Then have a cup of coffee. 警示注释:用于提醒其他开发者某段代码的重要性或潜在的问题,例如: // WARNING: Do no...

  • 2
    你遇到过哪些触发NPE的代码场景?
    奖品池:4000积分,保温杯*2,运动腰包*4
    54

    NullPointerException(NPE)通常在Java中发生,是由于尝试访问空对象的成员或调用空对象的方法而引起的。这种异常的场景很常见,以下是一些可能导致NPE的代码场景: 空对象引用:尝试对一个未经初始化的对象进行操作或调用其方法,例如: Object obj = null; obj.toString(); // 试图调用空对象的方法 数组引用为空:尝试访问空数组中的元素,例...

  • 3
    作为一个经典架构模式,事件驱动在云时代为什么会再次流行呢?
    奖品池:4000积分,加湿器*2,腰靠垫*5
    148

    事件驱动架构在云时代重新流行,我看主要有以下几点原因: 流动性。云原生架构强调各个服务的松耦合、可更新性,事件驱动天然适应这类动态拓扑结构。 异步通信。服务间通过事件传递消息实现异步和非阻塞通信,而不是直接调用,更高效利用资源。 水平扩展。通过发布/订阅模式,可以更容易实现系统的横向扩展性。 隔离性。各服务间脱耦,一个服务失效不会直接影响其它服务。 动态路由。随着服务器动态更新,事件可以自动...

  • 4
    如何让系统具备良好的扩展性?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    88

    让系统具备良好的扩展性是设计和开发过程中的重要目标之一,以下是一些实践建议: 模块化设计:将系统拆分成独立的模块,每个模块都应该有清晰的责任和接口。这样可以降低模块之间的耦合度,使得系统更容易扩展和修改。 松耦合:模块之间的依赖应该尽量减少,最好是依赖于抽象而不是具体的实现。这样可以降低模块之间的耦合度,使得修改一个模块不会影响到其他模块。 依赖注入:使用依赖注入模式可以使得模块之间的依赖关...

  • 5
    在JS编程中有哪些常见的编程“套路”或习惯?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    84

    在JavaScript编程中,有一些常见的编程套路和习惯可以帮助提高代码质量、可维护性和性能。以下是一些常见的JS编程习惯和套路: 使用严格模式(Strict Mode):启用严格模式可以帮助捕获一些常见的错误,并使代码更安全、更规范。 避免使用全局变量:尽量避免在全局作用域中声明变量,可以减少命名冲突和不必要的依赖性。 使用const和let声明变量:尽量使用const和let来声明变量,...

  • 相关电子书

    更多
    阿里云技术面试红宝书 立即下载
    超全算法笔试-模拟题精解合集 立即下载
    程序员面试宝典 立即下载