当我查看谷歌、亚马逊等公司的职位描述时,它们都需要C++和Linux/Unix经验。有没有人能解释一下,在工作资格的背景下这通常意味着什么?我知道如何在Linux中浏览文件系统吗?我知道如何运行命令吗?对于Linux/Unix envs来说,C++编码是完全不同的吗(编译器应该是不同的,对吧?)谢谢。
发布于 2009-09-14 16:03:22
这通常意味着您知道*nix系统上可用的开发人员工具,以及操作系统中c接口的低级体系结构(系统调用)。例如,库的布局方式/usr/include,make在*nix系统上的工作方式。可用的shell及其差异(bash、ksh、sh),以及如何使用这些工具(命令)创建复杂的脚本。它还意味着了解系统调用,以便您可以利用低级语义。
发布于 2009-09-14 18:10:58
Linux/Unix部分是ennuikiller所描述的,了解系统、基本用法、API、Makefile等。
第二部分,C++,倾向于分为两类。人们要么希望对指针、内存使用、STL、模板等有基本的了解,要么希望获得Boost或Qt等特定库的开发经验。
我想说的是,我所看到/采访的大部分内容都是为了第一部分,语言的基本知识,指针,模板。我偶尔会看到一份需要Qt或Boost经验的工作,但这些通常是中高级职位。
概括一下,如果您已经安装了Linux发行版并尝试使用*nix工具进行开发,那么您应该对第一个需求有足够的了解。对于C++,如果您能够创建一个链表模板类的基本实现(追加/删除/打印/搜索/排序功能),那么您就知道得够多了。
当然,这是基于这两个要求,对职位一无所知。您可能需要了解Linux网络功能、文件I/O、排序、树遍历以及其他API和算法的主机,具体取决于作业的调用。
发布于 2009-09-14 18:19:09
有了C++的经验,没有Linux的经验,我能够成为一名高级开发人员:单独负责独立特性/组件的设计、编码和测试。
然而,我需要一个愿意回答我的Unix特定问题的助手/团队负责人,关于如何:
https://stackoverflow.com/questions/1422466
复制相似问题