上海纳拓软件有限公司诚聘C/C++软件工程师
纳拓软件是一家根植于硅谷和上海张江的新兴高科技软件公司。公司三位创始人 曾在美国著名大学卡内基.梅隆大学(CMU)获得博士学位,是电子设计自动化(EDA) 领域的著名专家,具有丰富的硅谷产品开发经验。公司拥有强大的技术顾问团队, 其中包括数名美国工程院院士。
纳拓软件为价值数十亿美元的电子设计自动化(EDA)市场提供先进的软件工具,公 司的专有技术将使集成电路设计和验证流程发生革命性的变化。公司的短期目标 是开发拥有多项美国专利算法的软件产品,占领欧美及亚太市场;长期目标是发展 成为EDA行业领先的软件企业。
纳拓软件信奉“人”是第一位的资产,拥有世界级的团队。公司倡导硅谷高技术创 业文化, 为员工提供一个有朝气, 灵活和愉快的工作环境,优厚的薪酬及期权, 广阔的发展空间。 最重要的是, 研发人员将参与核心代码的开发, 技术上的挑 战会充分展示他们的天赋,并进一步提高他们的技能。
纳拓软件正在寻找天才的,有远大志向的和积极的您与我们一起创业。如果您有 丰富的C/C++编程开发的经验,欢迎您联系我们(job@)。
C/C++软件工程师
工作形式:
- 全职 - 为学生提供实习机会
工作地点:
- 上海浦东张江高科技园区
工作职责:
- 设计并实现高效的算法和数据结构. - 开发一个或多个关键软件组件并且负责他们的接口定义,实现,优化,调试和维护. - 与本地和海外的项目组成员交流.
技能要求:
必须具备:
1. 团队合作精神,并且擅长解决困难的编程和算法问题. 2. 精通Unix/Linux下的C/C++编程. 3. 丰富的大型软件开发经验. 4. 具有计算机系,电子工程系或相关专业的研究生学历; 或3年以上相关工作经验的 本科学历. 5. 良好的英语交流技能. 优先考虑有一项或多项以下背景的人才:
1. 熟悉硬件描述语言(HDL), 如Verilog. 2. 熟悉UNIX/LINUX环境下的GUI开发. 3. 熟悉Perl, Python, Tcl/Tk. 4. 熟悉编译原理.
此外,如果您对以下问题能给出解答,也欢迎您联系我们(job@)。
Problem 1 : Fast one-hot checker A bit vector is one-hot if and only if there is at most one 1 in the vector. For example, 0000 and 00100 are one-hot and 00110 is not one-hot. Please find the fastest way to check whether a bit vector is one-hot or not.
Problem 2 : 3-Inverter Assume that a logical blackbox has three Boolean inputs x, y, z and three Boolean outputs X, Y, Z where the outputs are defined as
X = ~x
Y = ~y
Z = ~z
Note that ~ stands for a NOT gate. Please realize this blackbox using only two NOT gates, and as many as possible AND and OR gates.
Problem 3 : Is it a loop ? Assume that we have a head pointer to a link-list. Also assume that we know the list is single-linked. Can you come up an algorithm to check whether this link list includes a loop by using O(n) time and O(1) space where n is the length of the list? Furthermore, can you do so with O(n) time and only one register?
Problem 4 : Detect same sequence Assume that we have a m*n matrix A where both m >= 1K and n >= 100K. X_i is a row vector of A where 1 <= i <= m. In other words, A = {X_1, X_2, ..., X_m}. Please find a fastest algorithm to detect all pairs (X_i, X_j), where X_i == X_j. , |