在深入代码之前,大多数面试官喜欢聊聊你的背景。他们想知道:

1、你对编码认知。你是否知道如何编写好代码?

2、个人能力/领导力。你是否经历过整个工作流程?你是否修复过并不怎么正确的东西,即使你并不需要这么去做?

3、沟通。和你交流技术问题是有用的还是痛苦的?

你应该至少说明以下中的一个:

1、你曾解决的一个有趣的技术问题

2、你曾克服的一个人际冲突

3、显示领导力或个人能力的例子

4、你曾在以往项目中做出的贡献

5、最喜欢的语言的一些琐事,对这种语言你做了什么,以及你不喜欢它哪里

6、有关公司产品/业务的问题

7、关于该公司的工程策略(测试,Scrum,等等)

热爱技术。表达你对你所做的一切感到骄傲,你对自己的选择充满自信,你对语言和工作流有着自己的看法。

沟通

涉及到编码问题的时候,沟通是关键。一个在工作时需要帮助却能和人正确沟通的求职者比那些能轻松解决问题的求职者甚至更好。

了解这是哪种问题。有两种类型的问题:

1、编码。面试官希望你能针对问题写出简洁高效的代码。

2、闲聊。面试官希望能和你聊一聊。话题通常是(1)高水平的系统设计(“如何克隆Twitter?”)或(2)琐事(“Javascript中的hoisting是什么意思?”)。有时候这些琐事中也会引入“实际”问题,例如,“如何迅速排序整数列?好的,如果不是整数,是其他类型的呢…… ”。

如果你开始编写代码,并且面试官并不想多说废话,只想尽快过渡到“实际”问题,那么如果你罗哩叭嗦太多的话,她可能会觉得厌烦。不妨直接问,“是不是为这个问题写代码?”

让人感觉你有团队精神。面试官想知道和你一起工作是什么感觉,会有什么问题,所以要让他们看到你的团队合作性。使用“我们”来代替“我”,例如,“如果那个时候我们做广度优先搜索的话,就能及时/准时得到解决方案。”如果让你选择在纸上还是在白板上编码的话,选白板。这样,你就可以接近面试官,直接面对他提出的问题(而不是和她在桌子两边遥遥相望)。

把自己的想法大声说出来。不是开玩笑,比如说:“我不知道这样做是否有效——但请让我试一试。”如果你不知道怎么办,不知道这个问题该如何解决,那么就说一说你现在的想法。说一说你认为怎么做可能会有效。说一说你认为哪些会有用,以及为什么没用的原因。这同样适用于琐碎的闲聊问题。当面试官要求你解释Javascript闭包的时候,“这与范围有关,不妨把它放到一个函数中”可能会让你得到90%的分数。

不知为不知。如果正在谈论的话题(例如,具体的语言事务,具体的琐事,运行时分析)的确是你不曾涉猎的内容,那么不要不懂装懂。相反,你可以直接说:“我不知道,但我猜$thing,因为……”,因为后面可以通过分析排除其他选项,还可以拿其他语言或问题做例子。

说话不要不经大脑。不要自信地将答案脱口而出。如果是正确的,那么你还是需要时间来考虑如何解释,如果是错的,那会显得你冲动鲁莽。你不是在和人比速度,而且你这么做更有可能因为打断她的话或者妄下结论而惹恼她。

摆脱困境

有时候你会陷入僵局。放松。这并不意味着你已经失败了。请记住,面试官通常更在乎的,是你能否巧妙地从几个不同的角度去揭示问题,而不是一根筋走到底地坚持正确答案。

画图。不要浪费时间在脑袋里思考,可以画到板上。画出几个不同的测试输入。画出你如何手动如愿得到所需的输出。然后想想将你的方法转换成代码。

解决问题的简单版本。不知道如何找到集合中的第4大条目?那么想想如何找到第1大条目,然后试试能否沿用这种方法。

写一个简洁低效的解决方案,然后对其进行优化。竭尽全力。尽一切可能的方法得到某种答案。

讲讲自己的思路。讲一讲你知道什么。讲一讲你认为什么可能工作以及为什么无效的原因。你可能突然会意识到它实际上是可以工作的,或修改版本是有效的。也有可能,你会得到提示。

等待提示。不要用期待的眼光盯着面试官,但可以有短暂的“思考”时间——面试官或许已经决定给你个提示也说不定呢,等待她的提示以免打断她。

考虑空间和运行时的界限。如果你不知道你是否可以优化解决方案,那么就说出来。例如:

“我必须至少看看所有的条目,我做不到时间复杂度比O(n)还好的了。”

“蛮力方法才能检验所有的可能性。”

“答案将包含n^2数据项,所以我必须至少花费N^2的时间。”

写下你的思路想法

凭空地想很容易自我矛盾。把你的想法写下来,然后再去考虑细节。

调用帮助函数,继续前进。如果你不能或多或少地马上想出如何实现算法,那就跳过它。写一个命名合理的调用函数,例如:“this will do X”,然后继续下一步骤。如果帮助函数非常微不足道,你甚至可以将它忽略。www.zC530.com

不要担心语法。不妨一笑而过。如果你非要考虑语法,那就还原到英语。只要向面试官说明稍后会回来整理即可。

预备足够的空间。你可能后面会想要在代码行之间添加代码或笔记。从白板的顶部开始写,并在每一行之间留一条空白。

最后写一个重头检查的标志。不要担心你写的for循环是否应该有“”或“=”。在代码的最后画个勾选提醒自己最后再检查一遍。先按自己的思路走。

使用描述性的变量名。想名字需要时间,但可以防止你忘记自己写某段代码的目的。使用names_to_phone_nums_map而不是nums。在名称中说明类型。返回布尔值的函数应该以“is_ *”,保存列表的Vars应该以“s”结尾。标准化很有意义。

完成之后的整理

浏览解决方案,大声地讲,输入一个例子。当程序运行时记录下变量保存的值——如果你只是记在脑子里,不会让你赢得任何加分。这有助于你发现bug和消除面试官的困惑。

寻找差一错误。你的for循环是不是应该使用“=”来代替“”?

测试边缘情况。措施包括空集合,单项目集合或负数。加分点:提一提单元测试!

不要惹人厌烦。有的面试官可能并不在意这些整理步骤。如果你不确定,可以这样说,“我通常会检测一些边缘情况——那么我们接下来是不是做这个呢?“

实践

最后,运行实践问题是没有捷径的。

好记性不如烂笔头。对自己诚实。用笔写可能一开始会让你觉得别扭。但是如果你现在就能克服这个难题,那么当面试的时候,你就不会觉得笨拙和不顺手了。

本文中的实践问题只是提供了每个面试过程的线索要点,没有真正的金科玉律,在真正面试时还需实际问题实际解决。最后,祝大家面试成功。

ZC530.com小编推荐

程序员面试技巧方法大梳理


大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《程序员面试技巧方法大梳理》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

郭帅

1.着装篇

程序员的面试和其他的面试不同,不要求面试着穿的西装革履,也不需要程序媛打扮的天花乱坠,当然你也不可能穿着程序员战斗套装去参与面试P.s.裤头-背心-趿拉板。其实程序员的面试着装要注意干净整洁,可以背双肩包,总之一句话让别人一眼看上去,就觉得你是一位资深开发人员最好了。这里面有1个小案例希望大家能从中学习。案例1.一位程序员去面试的前一天因为某些不可描述的原因,晚上睡觉睡的很晚。第二天头也没洗,带着黑眼圈就出去面试了。到了面试地点,技术官看到他,觉得十分诡异,就问了一句,小伙子你状态怎么这么差。由于这位程序员比较的机智,反手就是一个么么哒,哦不是,反手就是一句话,我之前公司加班比较的累,可能黑眼圈比较的重,不好意思,顺势还打了个哈欠。面试官看了不太忍心的说,放心吧小伙子,我们公司加班没有那么的严重。这个案例1就是所谓的衣着和身份的匹配加上该程序员临场的应变能力。成功的赢取了面试官的好感。

2.简历投递篇

简历的投递也是面试的重要环节,下面介绍一下简历投递的技巧。技巧1超级无敌海底佛跳墙,也就是只选好面试的城市和薪资和职位之后开始无限制,惨绝人寰的海投,投到面试安排的满满当当为止。这种投递方式适合面试初期的程序员,主要用于积累面试经验和收集素材。技巧2区域划分政策,也就是按照区域投递自己的简历,这样的方式能够使得自己的面试变得轻松一些,可以少跑不少冤枉路,也可弄个Excel,安排好每天的面试,尽量把距离近的公司安排到一起,增加面试的效率。技巧3利用一些专业的投递网站,p.s.这里不是打广告。在经历过前面的大范围面试之后,第一确立了自己的面试目标,第二准备好了自己的面试话术,这个时候就是需要精挑细选的时候了,推荐2个网站拉钩和boss直聘。根据自己的需求去对接了解。技巧4人际关系篇,大家可能听过很多的内推啊之类的东西,但是有的程序员说我没有这方面的资源怎么办啊。这里教你一招,去加qq群去群里认识一些朋友,有可能会发现一些猎头,也有可能发现一些公司的招聘信息,这个时候直接一个窗口怼过去私聊他,如果能聊的开心,很有可能会赢取一次内推的机会。

3. 人事面试篇

人事面试一般都妹子给程序员面试,这里注意,虽然平时看妹子的机会不多,面试的时候也不要总是紧盯着妹子去看,不然人家会不好意思的。还有注意就是不要为了展现自己去跟人事夸夸其谈技术,这样是很招人烦的。和人事的交谈可以多问问他们,公司的情况反客为主。

这时候人事发现你对他们公司十分的关系,会提升对你的好感度。和人事聊天,注意突出你的3点能力,抗压,沟通和学习能力。

4.技术面试篇

这里就要说一句是时候展现真正的技术了。和技术官面试到底有没有套路呢,答案是肯定的。有。技巧1答非所问,如果面试官问到了你不会的问题千万别愣神,想尽办法去回答和该问题相关的周边问题。最后在落实一句这个技术我真的不是很了解。这样做不会减分太多。技巧2多米诺骨牌大法,回答一个问题的时候一定不是只回答一个问题,一定要想办法把自己精通的技术拉扯上来。这样做一方面能更好的表现自己一方面面试官会觉得你有扩展性。其实很多面试官也会词穷,他只是想更好的了解你,你自己能去介绍何乐而不为呢。技巧3拍马屁大法,遇到真一点都打不上的的问题的时候,准备好了开始捧面试官了,多说点好话,一般做技术的都比较高傲,这个时候以请教的态度去问问他,相信他会跟你说的p.s.除非他自己不会他会让你回去自己查查看,听得过程中务必暴露崇拜的眼神。这样的面试非但不会减分,还有可能会加分,当然妹子使用最佳。

本文由黑马程序员上海校区就业部郭帅老师投稿

面试中的小技巧


在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《面试中的小技巧》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

近年来,随着越来越多的外商的进驻,很多人在应聘的过程中都很有可能会被要求参加英语面试。不少人凭着良好的教育背景和丰富的工作经验一路过关斩将,却往往在英语面试的环节上功亏一篑,而最终无法实现自己的职业理想。以下根据大量在朗阁教学中所遇到的实际情况总结了三条重要技巧,相信会对即将参加此类面试的人提供一点帮助。

技巧一:注意英语时态的变化运用

应聘者在参加英语面试前大都作过充分的语言知识的准备与练习。那么在众多的英语语法规则中为什么要单独强调时态的运用呢?其一是因为由于和汉语的表达习惯不同(汉语中动词没有时态变化),这是一个口语中极其常见的错误。但同时来说,时态又是比较基本的语法点,一旦用错,会让面试官对面试者的英语能力产生质疑。其二是因为在面试过程中,往往会涉及到很多关于个人经历,教育背景,工作经验,职业规划等方面的问题,因此在表述某件事情或是某个想法的时候,一定要注意配合正确的时态,否则就会造成差之毫厘,失之千里的后果。例如:你已经参加过某项专业技能培训与你正在参加或计划参加就是完全不同的。

技巧二:尊重个人及文化差异

任何面试都带有一定程度的主观性。也就是说面试官是否欣赏你也可能成为最后的决定性因素。因此在英语面试的过程中,应当尽量避免由于对英语语言的驾驭能力不足,而引发的不敬甚至冒犯。

具体而言,主要有两种做法要特别注意避免。首先是要避免使用过于生僻的单词,或是地方俚语之类接受群体相对比较小的表达方式。因为这种表达方式很有可能造成听者的困惑与曲解。

其次则是要避免过多,过于主观地谈及宗教文化或时事政治方面的问题。不少面试者出于第一项提到的急于展示英语水平的目的,或是想给面试官留下深刻印象的目的,常常会犯这个错误。

在英语面试中,面试官很有可能来自不同的国家与地区,有一定的个人倾向。因此作为面试者,在不了解情况的状态下,如果谈到此类话题,谨慎而有节制的发言才是上上策。

技巧三:以英语为载体,展示工作才能

一般而言,对于非英语专业要求的工作,面试常常主要是英语口试形式。但是要注意的是这与英语考试的口试不同,面试人员通常是由公司的人事主管,应聘部门主管或公司高层组成,他们更关心和器重的是你的专业知识和工作能力,而英语此时只是一种交流工具,或者说是你要展示的众多技能中的一种,因此要切忌为说英语而说英语,有些人就怕自己的英语减分,为了希望给面试官留下英语水平高的印象,常常会大量的使用事先准备好的花哨的词汇及句式,而真正针对面试官所提问题的、与工作有关的个人见解却很少,内容空泛,逻辑混乱。最后除了得到一句英语不错的夸奖之外,恐怕很难有理想的收获。因为在漂亮英语和聪明头脑之间,面试官总是会选择后者的。

以上所谈三点技巧,相信你已经熟记于心了。此外别忘了,任何面试中,整洁的衣着,大方的仪态一定是会助你一臂之力的。

结构化面试技巧小结


大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《结构化面试技巧小结》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

结构化面试,应该说这是企业和应聘者最重视的一个环节,为什么说他很重要?主要有两个原因:

1、它是一次与面试官单独、直接接触的机会,在这个过程中你会在整个过程中精神紧绷,以至于即使过了一个小时,你还是觉得时间很短。

2、它是一次长时间的会晤,时间越长,就越容易暴露出你的缺点,但是时间短呢又不能表现出你的优点,所以这是一个面试官与应聘者博弈的过程。

首先我们来说说什么叫结构化面试,面试就是面试嘛,怎么叫结构化,其实很简单,从字面意思理解,结构化面试就是遵循一定的结构和套路去进行的面试,也就是说面试官为了选择对自己企业合适的人选,会在这之前设计一个面试的流程和题目(这个就是甄选组的工作了),那么在这个面试的过程中他会根据之前设定好的思路按部就班的来向你提问,然后在你回答完一个问题以后面试官会在结构化面试表上面对你的每一项问题所表现出来的特质打分。

不知道大家有没有发现结构化面试存在的一个问题-----繁琐。

一般来说,一次完整的结构化面试需要35分钟左右才能真正考核到我们需要的东西,那么在校园招聘的过程中其实我们并没有那么多的时间去进行面试(一般一个面试官每天差不多见20个人左右,每个人20-30分钟,一天差不多9个小时),所以在实际操作中,结构化面试会被面试官进行调整,而甄选组也尽量保证让面试官在面试的过程中除了完成结构化面试以外,还要保证面试官能够有自己的时间去和应聘者进行交流,所以甄选组的工作压力非常大,他们需要把原本35-40分钟才能完成的结构化面试题库缩减至15-20分钟,一方面需要保证能检测出应聘者针对美的文化表现出来的特质,另一方面也需要保证面试官有与应聘者互相交流,作出主观判断的时间,所以各位在进行校招的结构化面试时,往往不会很明显的感觉到整个面试流程是之前设计好的,因为甄选组已经把结构化面试的内容融合到了面试的整个过程中,保证不让面试官和应聘者感到厌烦(想想面试官一天都问同样的问题,他们估计都跳起来了)。

那么在这个一对一的面试过程中,它主要考察的是哪些方面的能力呢?

1、综合素质考核:这个应该是大家都能预料到的一个考核点,其实一对一的面试就是一次聊天,如果你把它看成是一次聊天的话,你会很轻松,发挥出自己最好的水平,如果你把它看成是一次对自己至关重要的面试,那么可能你就给自己过大的压力,无法发挥出真实的综合素质水平,就我个人理解,综合素质包括语言表达和组织能力、知识面(包括专业知识和非专业知识)、表情神态、动作等等。

2、人际交流能力:人际交流能力最初体现在你和面试官说话的开场白,紧张还是自然,这个很重要,很多同学为什么会在面试的时候紧张,主要是因为他认为这是一次不公平的交谈,企业处于强势方,而自己处于弱势方,如果在你进入面试间之前已经建立这样的一个基调,那么我认为你这次面试是不成功的,在人际交流方面,如果当你认为对方处于强势方的话,那么你不可能自然的去发挥自己的能力。所以我希望,当你进去面试间之前,做一个深呼吸,想着是和一个企业在谈判一笔生意,你的筹码是你的能力,企业的筹码是能够给你的平台和薪水,双方是平等的。相信我,如果你真的是一个优秀的人才,没有一个企业会放过你。

3、人格魅力:很多人不一定理解,其实面试就是一个相互感染的过程,如果你能在面试的过程中感染面试官并且让他觉得非你不行的时候,那么你就真的是成功的完成了一次面试。其实整个面试过程就是双方相互探知,相互感染的过程,试问当你遇到一个让你没有任何感觉的面试官的时候,即使这个企业给你offer了,我估计你自己也会在心里徘徊这个企业是否配得上自己,那就对了,用你的人格魅力去感染面试官他,让他不得不选你,至少我确实遇到过这样的应届生,面试官结束以后就拉着我的手说我一定要这个人,而且一定要到他的部门

面试是一个综合性很强的考核过程,他时间很长,能为我们提供很大的信息量,同时为了保证我们选择的人员与企业的高契合度,美的集团对于面试官的选择是有要求的,基本上都是总监级以上,也就是说都是部门的第一负责人直接参与面试,很多参加过美的面试的同学出来以后都会感觉很轻松,因为面试官很年轻,同样面试官也很健谈,我可以说我们挑选的面试官很多都是很有人格魅力的,他们能在6-7年的时间里面成长为经理或总监,本身就证明了他们的实力,所以与他们的交流也能给你们带来一定的收获。

复试面试的小技巧


在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《复试面试的小技巧》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。

复试面试技巧

面试技巧是很必然的,因为如果你只是去一家公司面试递资料,形象很重要,因为一般收集资料的一般为公司的女性文员,她们一般不具有人事决定权,但她们却可以在一定程度上影响你的职场运程。因为,她们负责通知参加面试者,如果你的形象不够引人注意,则收到通知的时间可能有时会很晚,所以,选择性地对待这些女人很重要!

一般地,如果一家公司的收集资料的文员很有气质,则这家公司在用人方面要求一般都会比较高,所以,个人的综合素质必须要有一定的高度,这时,交谈时一般多听少讲问重点!

问什么,说什么,没问就不要多讲,但走时必须问:面试的相关问题,比如面试时间。如果你有幸参加面试,则面试时一定要注意形象,说话时不但要注意用语文明,而且要注意会谈时的心情的调节,必须表现出自己开心/愉悦/活力/知识/学习/进步/虚心/成长的一面,敢地说些自己的想法以及自己的观点,因为这类公司一般在用人上比较开放,他们需要用人上的多面性,而能力只是他们考虑的一个小的方面!当然,你首先必须满足企业最基本的学历要求!

而如果收集资料的文员一般,则说明该公司在用人方面存在一定的保守性,这样的企业一般会从企业内部提拔人员,而从外面引进人才,则一定是企业内部没有这类人才,所以,在形象的要求上,不会是重点,重点则在于你的能力,这样,在面试时,重点在于你对于该职位的理解以及你的工作态度与处理方式,在面试时,一般不用再提提升的问题!回答或提问的重心只用放在工作本身以及相关的待遇上。

面试技巧:观察公司收集文员的形象与素质,他们是这家公司的窗口,你能从中看到什么是关键!而面试开始后,则只能根据自己“看”到的内幕所做的准备来应对,临场发挥虽然也重要,但临场发挥中难免会出现这样那样的问题:典型的是用语不够准确,或者发言不够流利等。

复试重点,在大公司,都会侧重于智/能的考查,而能显然而是重点,所以,你必须尽最最大能力在短时间里尽可能多的表现自己的能力,特别需要指出的是要注重个人的判断力/责任承担/执行力/理解力/组织协调与沟通能力!

复试技巧:尽可能多的表现自己的干炼/灵活/果断/组织协调与沟通能力!而在知识方面一般不会太多的涉猎,因为现代的工种对于知识的要求已经不再十分苛刻!

复试通过,祝贺你,离成功就一步距离了,这时,看你的运气了,因为谁也不敢保证你哪天会遇到什么样的高管!同时,谁也不知道你当天的发挥怎样了!

单片机程序员的面试经验


需要掌握哪些技能

● 需要了解并使用过几款常见的单片机。

● 需要熟悉常见的硬件接口譬如 UART 、SPI 、I2C

● 需要了解一些传感器相关的知识,譬如声、光、磁、温、惯性器件

● 需要能看懂 datasheet 读懂芯片的操作规范,就是用代码对传感器的寄存器进行配置

● 能读懂原理图、看懂 PCB

● 会使用示波器、会分析电路

实际面试考什么

● C语言基础知识,算法水题

● 聊天,聊项目、聊如何实现的

工作中实际用什么

我面试成功的机会都是来源于这些主要做单片机的公司,而且都是小公司,进入的团队也小,做的东西也是两三个人就可以搞定的事情。虽然我自认为写程序还可以,但是每次答算法水题都答不好,让我着实比较郁闷,虽然近期已经补充了不少相关知识了,但是我还是感觉如果一直做这些单片机嵌入式的项目,我可能永远都用不到这些算法知识。

很早以前我就知道这些,计算机数据结构及算法之于单片机程序开发就是水月镜花。而另外一种意义上的算法倒是很实用,比如早在我毕业之前就买过一本北航出的《嵌入式系统软件设计中的常用算法》这本算是很使用的一本工具书,很多方法在实际的嵌入式软件开发当中十分有效,我把这一类算法归为DSP,也就是数字信号处理,要处理单片机中的数据都是数字信号的数据,要对这些数据分析总结,处理之后是从传感器得到的信息,之后再使用控制器或通讯器对外界进行反馈

一点点感悟

我从事单片机开发这些年就是用这些技术一点点的做着一个又一个的不靠谱的项目,现在想想我一直在磨练自己的技术,然后丝毫没有用在成型的产品上,那么我做这些到底有什么用呢?之前使用PIC单片机做的电能检测器件可能小批量的生产了一些,但是远没有成为一个值得我骄傲的产品。每一次我都是在找公司的原因,其实我真正的倾注了多少心血在这些产品上面呢?每一次我都是把做这些东西仅仅当作一个工作来做,虽然我的技术不断的在进步,处理一些技术难点越来越游刃有余,但是我早已失去了当初在学校时的那份热情。我开始在业余学习一些其他的技术,只把手中做的工作当作是一份糊口的工作,我觉得自己做的东西是没什么技术含量的,而且有些东西是慢慢打磨的,我倒不如趁着现在大好年华投身更丰富的技术海洋之中。久而久之,当初的那份赤成之心早已不在,我变得只是追逐工资增长的不断跳槽。而最近一年的嵌入式 Linux 工作经历也确实让我学习到了很多在操作系统下编程的技能,接触了以前不曾用到的文件编程、网络编程、也开始认真的研究计算机算法,现在我发现之前很多在单片机之下我迫切想使用的技术也不过如此。还记得我曾经想要自己打造一款实时操作系统。想要在单片机下实现多线程或是协程,有了操作系统这些反而是简单的,没有之前的程序写的复杂了。而这些简单的实现了之前在单片机上的复杂之后的事情,又有新的复杂的事情。有了多线程编程,要关注的同步和互斥的问题一点不比在单片机下要同时做很多事情简单。

还有视音频的流式传输,需要 buffer 的缓冲,处理起来也需要十分小心。而单片机开发更需要关注的是物理世界、电气世界的各种特性,需要将模拟的连续的信号变成数字的离散的数据,实时性强、过程简单的顺序结构。

一点点建议

● 还是认清自己最重要,不要被过去从事的技术束缚住,其实我现在看到很多以前做软件的人也在尝试单片机硬件编程,直接面对物理世界的反馈是一种很奇妙的感觉,相比于抽象的要处理数据库信息,处理真实世界的各种数据也许在某种意义上更加有趣,更加给人一种踏实的感觉。

● 每个人都可以不断学习新的东西,作为一个近二十年才普遍在人类社会兴起的工种,我们有太多要学习和探索的事情要做,身边少有工作二十年的工程师是因为这个行业还没有完全发展起来,因此绝对不要被别人软件技术是青春饭的胡话给蒙蔽。做一个坚持学习的人是值得别人尊敬的。

● 单片机程序员也是软件工程师的一种,做的事情一样有用而且有趣,做好了也能赚到不错的薪水,在其他软件程序员来说可能被看作是做硬件的,做底层的。但我理解的差别可能比写 java 和 python 的区别差不多大吧。反正没有一辈子不成长、不学习的软件工程师,除非他们转去做管理这样高端的职位去了。