上位机面试经验总结

八月份到了,快秋招了,最近好多小伙伴私信我上位机的问题。笔者是一个喜欢面试的菜逼,多次面试苏州的器械公司,接下来给大家梳理梳理面试所总结的经验。
笔者主要面试的岗位是C#方向的上位机,不是视觉和运动控制,且集中在苏州地区,所以以下经验可能经供参考,具体还要各位小伙伴多去面试才能知道所在地区的具体情况。
1.不同人群选择工作时的建议
首先,我相信仔细阅读这篇文章的你,大概率是以下几种情况:
1.刚毕业的学生。
2.已经有包括但不限于电气,土木,机械等等行业经验刚转行或者想转行的老哥。
3.刚工作没多久,想跳槽,但不知道怎么面试,怎么避坑的小伙伴。
如果你是这三种情况,我分别对三种情况给出我目前认为选择工作时候的建议:
第一种:刚毕业的学生。
先看学历,我一直强调,如果你是985,别来卷上位机应用方向,直接去算法方向。应用方向工资上限不高,你干几年你和普通本科毕业的老哥薪资差距不大,你再牛逼,对不起还是那个工资。这时候,你想升职加薪,你的老板会使用出老pua话术:年轻人,要沉得住气,要多熬熬。呵呵,大厂这么做是没错,中小厂嘛,嘿嘿,就这种经济形势,公司明天在不在都不知道,还熬熬,,,这种话听听就行。算法方向目前笔者所了解到工业领域比较赚钱的是视觉算法,但是可惜的是,由于近年视觉算法越来越成熟,相关岗位越来越少。因此可以考虑转向复杂的运动控制算法研究。
那么像笔者这种平平无奇的普通本科的小伙伴该何去何从呢?
首先,算法岗肯定是没戏了,如果你大学没努力,或者找工作时候没努力,那么你连研发岗都进不去。(这里给刚入行的小伙伴简单介绍一下,中大厂的上位机岗位是分为研发岗和实施岗的。研发岗主要就是坐家里写代码,实施岗主要就是拿着研发岗写的代码去客户现场,可能是满地球跑)研发岗前期收入可能比不过试试岗(因为实施岗有丰富的出差补助和差旅费,还有一些其他赚钱的路子,这里不便详细展开)但后期肯定是研发岗综合收入更高的,这一点希望刚入行的小伙伴周知。
那这时候选择研发岗和实施岗就得看你自己了,我当时是倾向于选择研发岗的,因为大家都知道,总要结婚生宝宝的,后期频繁出差不是很方便。所以笔者现在在一个不需要经常出差的开发部门从事触摸屏等产线软件的开发工作。当然如果你想赚几年快钱,做实施岗也是一个不错的选择。因为实施岗位的面试难度比研发岗位稍微低一些。
接下来说说私企,国企,外企。国企基本上就是以甲方为主了,适合家在附近的小伙伴去冲,钱少事少。但后期有一些不可言表的其他收入来源,这里不做详细探讨。私企基本上是小老板居多,基本上就是要求你啥都会,所以私企尽量去规模大的私企,避免去被小老板pua了身心疲惫,还没赚到钱。外企那就不谈嘞,能进那就不要思考其他了,直接无脑进就完事了。确实目前外企也有裁员现象,但是人家裁员货真价实,赔偿款一分都不少,一分都不含糊,而且算时薪,外企的收入是非常可观的,所以如果能拿到外企offer(尤其是德国企业,建议无脑进)。
那这时候有小伙伴要说了,现在国内有些德企加班也不轻啊。兄弟,不要只顾眼前利益嘛,那些德企加班加几年出来的都是去小老板家里做小领导了,人家虽然可能累了一点,但收入也相对可观啊。不比直接被小老板pua,一点地位都没有钱还少香一点?
然后还有一点就是,这一类兄弟由于刚毕业,社会经验比较浅,所以在面试的时候容易胆怯。切记!不要胆怯。不管你被面试官秒成什么渣渣,不要慌,简历收拾收拾,把没回答上来的问题收拾一下,回去百度百度问问有经验的老哥,继续下一家面试。这个阶段一定要广撒网,即使拿到了比较心仪的offer也建议多面试,多去试错,万一下家比这家更好呢?
第二种:已经有包括但不限于电气,土木,机械等等行业经验刚转行或者想转行的老哥。
这种选择就相对少一些了。如果自己不是很刻苦,或者是刚转行,那暂时别投中大厂。直接选个小厂无脑刷一波工作经验。这行是吃工作经验的,很多时候不是技术问题,而是经验问题。而且前期,中大厂是不会优先选择这一类型的小伙伴的,所以这类小伙伴前期可能比较难熬,但相信自己,只要努力,一定会有回报。因为这行专业性说强也强,说不强也不强,只要足够努力,找份比你原职业好的工作应该还是可行的。
但是一定要保持良好的心态,笔者上家单位有个老哥,32岁转码,天天被我领导喷,但老哥心态好,仍坚持不懈。现在其他同事都离职了,就剩老哥一人,于是领导给老哥涨了1000块钱工资。
顺便多一句嘴,这类老哥由于年龄可能偏大,且家中可能有妻儿,所以如果真想在这行走的稍微远一点,是需要人系统性的指导一下的(不要曲解这段话,不是让你去报培训班,只要有个稍微有点工作经验的适当时候指点你一下学习方向即可,当然如果自身学习能力比较差或者自制力比较差,那还是花个钱去报名一个培训班吧)。我上段所说的老哥为了转行,花了两万多,报的线下培训班,一对一教学,学了半年,来我上家的时候12k,他之前是8k。
第三种:刚工作没多久,想跳槽,但不知道怎么面试,怎么避坑的小伙伴。
这种老哥其实是最不需要慌的,骑驴找马即可。放平心态,简单研究一下八股文,面试的时候适当的吹一吹自己所做的项目,问题不是很大,即使找不到无所谓,反正有工作,先混着过渡过渡。。。
至于工作的选取也和我上文应届毕业生一样,在选择公司的时候,更要注意对领导观察。可能因为某些先天性条件限制,毕业的时候去了中小厂,后期想向中大厂跳,那此时需要注意大厂的用人部门。因为这会直接影响你在这家大厂的工作体验和心情。举个例子,如果一家做立体库的大厂突然开辟新业务部门来做agv,此时如果你有agv经验去试试其实也挺不错,但是你在入职前尽量向同行打听打听这个部门到底可靠不可靠,别干了没几个月,公司发现这个事业部不盈利,直接从上裁到下。这一点务必要慎重。在风口上猪都能飞起来,但是猪能飞多久,就看你自己对市场的把握了。风险越大,鱼越贵。
我毕业那年的风口应该是新能源和视觉,我学长长我两届,当年加入视觉,经历了裁员。这件事我只是简单陈述,不发表任何意见,具体行业的选择还是看读者自己。目前新能源和换电行业大概率是996,薪资给的高是有原因的,每个人情况不同,根据利弊,自行选择。
2.面试经验建议
上文提到,心态很是重要,这里也必须再次提及。因为这个行业鱼龙混杂,且东西极多。如果你是面试小厂,被面试官问懵其实也挺正常的,所以这个时候无比保持良好的心态,接下来说一点我之前面试时候总结的一些小技巧。
观察面试官和招聘你的公司,这一点很重要,他在选择你的时候,你也在选择他,工作是一个双向选择的过程。在面试的时候,还有可能出现hr会从网上搜一些很弱智的面试题来考察你,这种给人影响分直接就很低好吧,毕竟你觉得hr的技术专业水平能多高呢?遇到这种,优先psss。过了hr的初筛后,正常情况下,第一轮面试官就是你的部门领导,这个时候你要观察这个人的脾气和性格,毕竟你以后是要接受他的领导的,领导的好坏和是否会做人很影响你在一家公司的工作体验。如果你发现他面试的时候就pua你,那这种公司直接别去好吧。还有一种就是常见的,由于小厂资金有限,往往没有多少软件开发人员,甚至,没有开发人员,你可能是第一个也是唯一一个!所以面试你的是电气的领导,如果你顺利入职,那以后他也是你的领导。哈哈,这很有趣是不是?但是在我面试经历中,这种公司在小公司中还真是比较常见。对于这种电气来面试你的公司,你要明白,这种公司是有优点也有缺点的。优点和缺点其实都很实在,就是领导不懂技术。没错,领导不懂技术会带来什么呢?如果你语言能力强,会忽悠,可能平时工作量就不是很大,但是如果你语言能力不强,或者忽悠能力比较弱,那对不起,你可能以后会被经常责问:xxx,这么简单的功能你为什么不能实现呢?所以遇到这种类型的公司,一定要慎重,我的建议是不优先选择这种类型的公司。说的更直白一点,就是这种公司发展大概率不大,他连软件老大哥都舍不得招,你觉得你进去能收到什么好的待遇呢?
在观察完面试官后,对于有些技术,你可能没答上来,那这个时候你应该怎么做呢?直接说不会?这不一定是个好的选择,你可以反问他,但是问的不要那么直接,就很委婉的向他请教。如果他回答你了,这次面试不管成没成你至少学到东西了,他如果没回答你,甚至还对你说,不会自己简单百度百度吗?这种直接就不要去了。面试的时候都这么没耐心,你觉得以后会对你有耐心吗?如果一家公司诚心找人,他面试的时候装也要装成一副求贤若渴的样子,猛夸你这个好那个好,说一些彩虹屁话,先把你骗进坑中再说,连面试的时候都不装,要么是对你不满意,要么是这个领导真的情商低如狗,但是不管哪种情况,这种都直接pass,抓紧收拾收拾赶紧投下一家。
面试之前务必问清hr所有的待遇,年终奖,项目奖有无,五险一金缴纳基数,和是否要出差,加班情况(出差和加班情况建议问部门面试官,就是你的领导,毕竟不同部门不一样,这个可以放在面试快结束后,他反问你还有什么想问我的时候去向他提问。注意,问这个问题不仅可以知道出差和加班情况,更可以看到领导是否圆滑,面试时一定要注意他回答此问题时的答案,回家后仔细推敲,看这话里是否有话。因为大部分面试官只会暗示你出差和加班情况,不会直接告诉你的)。
3.面试前技术准备
为什么把这个放到最后来讲,因为大部分工程师,属于不是特别菜,也不是特别强,所以这一块很多面试官还是比较随缘的,甚至你最后能不能面的上基本上取决于面试官看你顺不顺眼,你两面试的时候聊的来不来。特别资深的工程师,肯定也不会打开我这篇文章,因为主要受众人群大概就是入行三年内的小伙伴,针对这些小伙伴,我讲述一下自己面试前的一些技术准备和积累。
框架的熟练了解大概是要的,不管你是写winform,wpf还是qt,面试前最好系统性的看一本书或者看一套课程,了解这个开发框架的大概流程和常用组件。如果有时间深入了解一些界面ui,图形学方面的知识,那再好不过。其中之前也提到过,如果是选择上位机,那么常用的一些通信,至少要了解操作流程和步骤。最好学一些通用性的协议,比如modbus,opc,这些协议的C#应用,网上一搜一把,多找几篇看看,了解了解操作的关键点。剩下的就是一些框架或者语言的具体细节问题,这个真的就要去实际开发项目,然后在项目中积累了,指望一两篇文章就能快速上手了解,那有些不现实。
如果是mes行业,一般涉及硬件的通信不会那么多,但肯定也有。mes主要其实是业务系统(虽然上位机基本也是)但是mes的业务壁垒比上位机可能要高些。所以如果是新手,投上位机难度可能比mes低一些,还有就是目前很多mes厂商的软件招人标准都会有一条,要有mes相关工作经验。mes总体来说适合去大厂做甲方,中小厂的n包mes不是很推荐,比较累。目前大部分mes都是bs端的网页形式,c端的mes系统较少,而上位机目前以c端为主,所以可以说mes和上位机是两种不同的方向,但是最好两种都适当了解,给自己留条退路。bs方向的学习和面试栈笔者不是很清楚,待后续了解后再完善,此文暂且告一段落。
最后,祝各位读者都能找到钱多事少离家近的好工作,拜拜ヾ(•ω•`)o。