概要

临近秋招季节,公司也进入了在进行校园招聘流程,结果大失所望,“颗粒无收”。面试官同事也向我抱怨为什么现在的学生基础这么差,基本的计算机知识都不能掌握,难以完成公司交付的招聘任务。

也有学弟向我咨询在校招面试过程中,应该具有哪些技能才能得到面试官的“芳心”呢?在这片文章中,我简单阐述一下我心目中的校招生,在linux C 工程师岗位上的应该具备的能力。

评判标准

我认为招生的过程,就像是一个寻宝的过程。应届生就像一块璞玉,可塑造性强,当你某一个特点吸引了面试官之后,即使其它方面的能力差一点,也会俘获面试官“芳心”。比如,你身边可能会遇到一个技术能力不如你的同学,但却拿到了你没有offer。很有可能就是因为他身上的某些特质,吸引了面试官。

若让我对一个在校生进行评分的话,一般会从下面三个维度:

  1. 基础能力: 岗位的本职就是完成领导分配的任务。具备相应岗位是基本需求。在linux C 岗位上,应该要掌握C语言、linux系统编程。
  2. 加分项: 基础能力可以让你完成岗位职责,但是其它额外的能力可以让你更快,更好的解决问题,提升工作效率。在linux C 岗位上,我觉得Makefile 、 gdb 、 操作系统、编译原理等知识可以在日常工作中帮组你提升效率。
  3. 可塑性:公司一般都希望可以将校招生培养成公司下一代的中坚力量。这一般都会考察学生的交流能力,因为只有好的沟通能力才能承上启下,推进团队工作的进展。以及是否具有主动提升自我的良好习惯。

基础能力

基础能力的考察一般可以通过笔试题体现,主要考察的点有两方向:

  1. C语言
  2. linux 系统编程

C语言

C语言基础的好坏,决定了代码的质量。而代码的质量决定了软件质量。可想而知,C语言基础是多么的重要。
而C语言面试题,一般都是将工作中的一些易错点,易忽略的点体现出来,来考验面试者的C语言掌握程度。常见的考点如下图:

  • 关键字:static关键字 的含义,哪些情境下使用会比较好。const 、volatile关键字的作用,如何灵活使用。
  • 数据结构:了解常见的数据结构,比如堆、栈、队列、数组、链表等。了解不同的数据结构特性,如何抉择使用。
  • 传值、传地址:这应该是老生常谈的问题了,但是往往也是一些工程师会犯的错误。
  • 指针的理解:C语言相对与其他语言的最大区别,就是指针的概念。指针属性为C语言赋予了高效的特点。但随之而来的也就是风险的增加(指针使用不当,容易出现程序错误),程序的安全就依靠C语言工程师的编码能力了。
  • 其它

linux 编程

linux C 工程师还应该具备的一个能力就是对linux 系统的理解,以及在这之上的开发技能。linux 是一个很庞大的知识体系了,恐怕十几年的老兵也不敢说自己完全掌握。对校招生的要求自然也不会太高,一般期望能够掌握以下技能:

  • 常用linux指令:比如ps查看进程状态,free 查看内存使用,压缩、解压缩命令
  • 文件编程:文件操作是常见的业务,需要掌握基础的文件编程能力。
  • 网络编程:在这万物联网的时代,如果不会网络编程,恐怕都不好意思说自己是程序员吧
  • 多进程、多线程:进程和线程一直以来也是笔试、面试的常见考点。也说明该知识点在工作中的重要之处。在多任务编程中,我们要时刻保持对流程顺序的控制,对资源的使用,使多个任务按照我们的预期运行。

加分项

根据我的标准,基础能力在一个人的评判标准中,只占有60%,而岗位之外的能力占25%。因为丰富的知识面,能够帮组你在突发情况下临危不乱,冷静快速的处理问题;减少外部的依赖,提升工作效率。
根据我的经验,具备以下能力,在linux C 岗位中,可以帮组你更好的工作。

  • Makefile、cmake:作为当前主流的工程编译管理工具,掌握基本的读写能力是必要的。
  • gdb调试工具:编码调试过程中,当我们遇到coredump 问题,我们该如何排查分析呢?如果你还是通过printf打印的方式进行定位,那未免也太低效了。此时gdb 工具是你的不二选择。
  • 编译原理: 编译出错是每一个工程师都会遇到的问题,但却是大部分新人头疼的问题,需要老员工指导。若能独立解决该类问题,必然是你的一个闪光点。
  • 操作系统:操作系统的调度原理有助于你更深刻的理解多任务之间的切换,在进行多线程、多进程框架设计时,可以考虑的更多情景。虚拟内存以及物理内存之间的映射关系,能在很多问题上为你提供分析思路。

可塑性

在我们身边有些同学技术能力不高,但却收获到了一些比较好的offer。这是因为他身上的一些特质吸引到了面试官。因为基础能力是可以通过到岗后短时间培养,达到岗位要求水平。而有些特质是很难通过后天培养生成的。在我心目中,比较可贵的优点有以下几点:

  • 沟通能力:在当今社会,很难通过一个人的力量完成一个工程。需要一个团队,多个成员共同努力。因此,成员之间的沟通有时也会阻碍项目的推进。优秀的沟通能力,协调能力,在一个团队中,也是非常重要的。
  • 工作态度:当前的状态并不能代表未来的发展。若你拥有积极的工作态度,认真刻苦的学习激情。这些也是可塑之才具备的特点。

总结

以上便是我对校招 【linux C 工程师】岗位的期望,本篇没有像以往介绍具体知识原理或技能,泛泛而谈,希望能够帮组到部分迷茫的同学。

加油~~
欢迎你,新一代年轻小伙!!!

我眼中的校招【linux C 工程师】应该具备的能力相关推荐

  1. 网络安全售前工程师需要具备哪些能力?

    网络安全售前工程师需要具备哪些能力? 一张思维导图即可一目了然 售前工程师在项目前配合销售拿单提供技术支持,需要了解公司,公司产品,技术框架等细节,同时还需要了解行业竞争对手产品,各自的优劣势,就公司 ...

  2. 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...

    今天小编要跟大家分享的文章是关于想成为一名合格的工程师需要具备哪些能力.技术人员追求的也不仅是知识点,而是在专业领域正确做事的方法及达成目标的能力.两个同时入职的员工,一段时间后技术好的那个就发展得好 ...

  3. 什么是嵌入式软件工程师?需具备哪些能力?

    计算机嵌入式逐渐被大家认可,然而嵌入式软件工程师到底是什么?做一个好的嵌入式软件工程师又需要具备哪些能力呢?今天尚观教育小编跟大家聊一聊. 1.嵌入式软件工程师是什么? 嵌入式系统一般由嵌入式微处理器 ...

  4. 优秀互联网高级测试工程师应该具备的能力

    概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈.当然这些全部都是我的个人理解. 能发现问题,还能 ...

  5. 一个高薪的Android开发工程师需要具备什么能力?

    前言 任何工作,任何行业想要拿到高薪都需要这几点条件,时间,技术,关系. 时间,无非就是在这个行业摸爬滚打很久有自己一套赚钱的方法: 关系,说白了就是家中有人帮忙铺路: 技术,在一个行业技术专精就能受 ...

  6. 软件测试师需要具备哪些知识,软件测试工程师需要具备哪些能力?

    软件测试工程师需要具备哪些能力?参加个软件测试培训班毕业后就可以成为软件测试工程师了吗?其实并不是想成为比较资深的软件测试工程师,还需要我们具备一定的素质能力的.下面小编和大家分享一下软件测试工程师需 ...

  7. 网络优化工程师常用的测试软件,网络优化工程师要具备什么能力

    原标题:网络优化工程师要具备什么能力 了解过网络优化工程师这个职业的朋友都清楚,目前我国正值5G网络高速发展时期,有很大的人才缺口.而这个比较高薪的职业,但是也需要一定的职业技术能力去支撑你的高薪,不 ...

  8. 讨教大学|可靠性工程师需要具备哪些能力?

    作为可靠性工程师,你可能经常会听到:"可靠性啥也不懂,就在那瞎评审".话虽扎心,但是这也体现出,国内对于可靠性人才的不重视.可靠性是必须要走的路,也是迟早要走的路,只是,很多企业还 ...

  9. 嵌入式工程师需要具备的能力

    嵌入式工程师需要具备以下能力: 熟练掌握嵌入式系统开发工具:嵌入式系统开发需要使用特定的工具,包括编译器.调试器.仿真器.开发板.调试工具等,嵌入式工程师需要熟练掌握这些工具的使用. 熟悉嵌入式系统架 ...

  10. 软件测试工程师需要具备哪些技术,软件测试工程师需要具备哪些能力?

    原标题:软件测试工程师需要具备哪些能力? 软件测试工程师,是老板与开发人员之间的桥梁.因此,除了具备测试技术.测试文档撰写能力外,还需要具备一定的销售沟通能力,业务熟悉能力等. 那,如此全能岗位,需要 ...

最新文章

  1. 基于SSM实现在线租房系统
  2. Global.asax使用1
  3. div样式调整.txt
  4. 并发编程 - 协程 - 1.协程概念/2.greenlet模块/3.gevent模块/4.gevent实现并发的套接字通信...
  5. 消费金融首推即时沟通工具“马上”探索科技金融发展新方向
  6. org.apache.maven.archiver.MavenArchiver.getManifest
  7. mysql存储引擎 索引优化_MySQL存储引擎,索引及基本优化策略
  8. android studio上拉加载,AndroidStudio的PullToRefreshListView简单使用
  9. VS2008中文版MSDN订阅下载问题
  10. 综述 | 注意力机制
  11. 计算机视觉实战(八)直方图与傅里叶变换
  12. stack(栈)数据结构详解
  13. php构建webservice,php webservice实例(简单易懂)
  14. 论文写作--学习所得
  15. BCB 第三方组件/控件 ZZ
  16. 许知远:嗨!Julia
  17. python 天天向上求几天数_Python十题(第2课)
  18. 【全】可供选择的软件开源协议的罗列
  19. next主题搭建相册(无需安装插件,代码即可实现)
  20. cad lisp 二次抛物线_cad画二次抛物线

热门文章

  1. JavaWeb-QQ空间项目解析
  2. 毕业人数历史新高,IT行业又成就业首选:不仅就业机会多还能拿高薪?!
  3. 解决“System.Exception: 未找到 Oracle 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 7.3.3 版(或更高)客户软件安装的一部分”问题
  4. 读论文---DETR
  5. 怎么将华为三层交换机配置为DHCP服务器?
  6. 村上春树《没有色彩的多崎作和他的巡礼之年》读书笔记
  7. Windows企业即时通讯
  8. java 区分缺陷Defects/感染Infections/失败Failure
  9. Go语言标准库与其api
  10. 【统计学笔记】各种统计量检验的决策准则