学习之路(2)

应该是从9月中旬开始的找工作,到现在已经11月中旬了,但是还是没有找到。
面试经历还是比较少,准备我觉得也不够充分。
我准备了两个方向,1.FPGA 2.嵌入式软件

FPGA

学习准备

对于FPGA,专业不是很对口,咱也不知道什么专业对口。暑假做的龙芯杯的项目,对这个产生了兴趣,感觉还是比较适合自己的。让我去写Java,不行,类库太多。搞不懂底层,让我写代码,太难了,很多都不知道为何这样使用。
记得有一句话,不要拿你的业余爱好去挑战别人的专业。
为了避免自己陷入这种境地,证明这不是自己的业余爱好,我开始了自己的学习。也算是有了一个比较大的项目,现在开始补充基础知识。
自己学过模电数电,但是学得不好。而且我们学的数电觉得比较浅,也没有和verilog联系起来。我重新找了一本《数字逻辑与Verilog》开始学习。
从最基础的卡诺图,真值表,到组合电路,时序电路。电路设计的几种设计方法,自顶向下,自底向上;行为描述,数据流描述,门级描述;系统级设计,RTL设计;电路的时序分析方法……
其中时序分析我觉得是很重要也比较难的地方。硬件设计相对简单一点,建模描述,占大头的是调试。时序分析做好会大大有益于调试。
模电没有再专门复习,感觉遇到的不多。
基础复习(补充学习)了以后,了解到FPGA应用的方向,我又去借了一本数字信号处理的书,但是感觉这个课真是难,不是一时半会能学好的,自学也很难学懂。
作为间隙学习的内容的就是关于Xilinx的FPGA开发的书籍。Xilinx有ISE,但是暑假使用的是Vivado,所以找的书也是Xilinx的Vivado相关。这个因为有使用的经验,所以花的力气不是很多。
重要的我觉得还是时序分析。
FPGA在图像处理也有应用,我发现很多做视频设备的公司就招收FPGA工程师,我学过图像处理的内容,但是感觉学得一般。

面试经历

第一个就是面试的FPGA,但是是一个助理工程师。这个职业一般招收硕士起步,经验丰富,要求挺高的。一开始拿给我的试题,是硬件工程师的题,满篇都是二极管三极管,电路工作分区,各种其他我不认得的元器件,我懵了。后来人事来了,我就问这不是这个岗位相关的题目吧?她说我给你换一份。换过的题就是数字逻辑相关的试题。因为我高数学的不好,面试时就很纠结这个点,加上专业不对口。面试很随和,面试的好像是公司一个大领导,就在聊天(现在想来当时很多聊的内容是很有用的),中午带我去食堂吃了饭,然后就走了。让我十一假期回去考虑,再跟爸妈商量。我第一次面试,没有经验,懵逼,以为凉凉了,后来十一回来以后,问我考虑得怎么样,我一个字也没回,相当得不礼貌。我是那种躲避型的人,我不知道怎么回复,所以干脆不回。

后面面了一家刚成立的公司,但是,是芯片设计的岗位。简历筛选还是比较难的,很多参加宣讲会的投了简历的都没去。只有一次面试,没有笔试。一开始聊的时候,面试官对我感觉印象还蛮好,后来的介绍完项目,他说你们这是FPGA项目啊,可是我们以后芯片设计要上亿门级的,我说我知道这个区别。然后就凉凉了,让我回去了。
当时走出大楼,差点哭出来。

后来就是在大型招聘会投的几家,从来没有回应。
不知道这些公司是不看好我的专业还是怎么回事。

有一次在一个展位上,我拿着简历,人事看见我,问同学你是什么专业的?我说计科的,然后我主动说,我对嵌入式和FPGA这个很感兴趣,跟她介绍了我暑假做的项目,然后说我毕设做的也是FPGA。她说你们计科毕业都做Java吧,我说是,很多同学做了Java,但是我对嵌入式更感兴趣。她说你这个专业有点不对,我说我最近还自学了哪几门,她听完好像就不想跟我聊了,就说后面给你通知吧,但是至今一条通知也没有。

嵌入式软件

学习准备

嵌入式,算是本行了吧。眼看FPGA无望,我就开始准备嵌入式。(但是已经晚了)
大学第一门就是C,后来学的课程,诸如数据结构,算法设计,操作系统,在实验课里我都是用的C。一开始C学得不咋样,考试就70多,然后经过当时期末的程序设计实训,后面的数据结构,算法设计,已经锤炼的不错了。但是最近没有用过,所以几乎忘了。
开始复习C。C和数据结构其实是一起复习的。重要的部分就是指针,数组,包括嵌入式开发常用的宏定义,预编译命令。数据结构中的链表,各种排序算法。
之前没有准备嵌入式,但是打印了嵌入式的面试题。
根据里面的面试题复习,把指针搞了个差不多明白,那种很像的专门考指针各种易错点的题也能分辨出了。

嵌入式开发大多都是基于Linux平台,以前也学过,现在所有的课程就是开始复习,然后在基础上学深入一点。之前没有涉及linux C编程,gcc编译也不会用(但是昨天复习的时候我突然想起来自己学汇编语言的时候,当时是X86的汇编,DOS下,有涉及过程序的链接)。linux C编程,会用gcc,GDB调试,shell编程(在我理解的shell编程就是把一堆命令集合成为一个可执行的脚本)。进阶的就是网络编程(这里还要复习计算机网络的知识)。
Linux C学习之后,就是嵌入式系统的学习。这门课, 我只能说,我上过,还考了90+,但是没有用。于是我重新找了一本嵌入式系统原理的书(基本都是ARM体系),学习里面的各种接口,总线协议。
面试途中,发现,CAN,RS,UART几个总线,GPIO接口要求比较多。

嵌入式,操作系统也是不能忽视的。里面的进程管理,调度,信号量,死锁,也是很重要的知识。(Linux里很重进程的概念)

但是嵌入式吃亏在没有项目经验,我只是用过51单片机。

面试经历

最正式的一次面试就是最近的一次,嵌入式实习生的岗位。笔试的题目我都做过,考的内容大部分是宏定义,然后有一些指针数组的内容。写宏定义的时候忘记加括号,这个知识点之前还着重写过,关于预编译的时候宏的处理,就是个符号替换,所以千万记得加括号,但是那天自己居然忘记写了。面试官人很好,给我指出了这个错误,说其他的题目答得不错。然后聊了聊。
没过,过了十几天我问,人事给我的答复是跟同期的人比起来,基础有点弱。是从我成绩单看出来的?那悔过自新或者慢慢找到学习方法的人就不配有工作了?
面试的时候还会问,嵌入式那么难,为什么要做。做Java做前端做数据库做啥,不是个人爱好问题吗?我就正好喜欢了嵌入式,它让我有豁然开朗的感觉呗。更接近底层,更明白清晰呗。

难,难死了我。
把FPGA的心思收了,开始准备嵌入式,随缘吧。然后准备毕设,反正有一大堆事要做。还有驾照。秋招也过了,没办法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值