【智臾科技】编译器开发工程师

编译器开发工程师

岗位职责

工作职责

1. 为 DolphinDB 设计新的插件语言

2. 优化 DolphinDB 脚本语言的速度,完善JIT

3. 完善将 Pandas API 转为 DolphinDB 查询语言的接口

岗位要求

基本要求

1. 具备扎实的数据结构、算法、操作系统基础

2. 熟练使用 Python3、C++11

3. 熟悉编译器中 AST,IR,Codegen 等概念

加分项

1. 了解 Python 虚拟机的实现

2. 了解在 Python 中实现 Embedded DSL 的原理

3. 了解 LLVM

4. 了解 Pandas 的实现


员工激励及福利待遇

 公司设有员工股权池,奖励优秀员工

 倡导工作与生活平衡的公司文化,周末节假日正常休息

 关注员工健康,免费提供专职厨师自制营养、健康午餐,免费提供新鲜水果

 

所有岗位常年开放实习生职位

需要应聘实习生的,请在邮件或简历中注明

实习补贴:3500-6000元/月,表现绩优者,通过评估给予提升

实习生意外保险一份

 表现绩优者,录取为公司正式员工

 

联系我们

官网www.dolphindb.cn

知乎:智臾科技

联系人:章女士(微信号:15967147332)

电话:0571-82551160

简历投递邮箱:jobs@dolphindb.com

地址:浙江省杭州市萧山经济开发区启迪路198号C座1001


#实习##内推##智臾科技#
全部评论

相关推荐

#通信硬件知识分享# 1. 嵌入式系统的组成嵌入式系统通常由以下几个部分组成:硬件平台:包括微处理器(如ARM、MIPS、x86等)、传感器、执行器、输入输出设备(如LCD、按键、LED等)。操作系统:嵌入式系统可以使用实时操作系统(RTOS)或裸机(bare-metal)开发。RTOS如FreeRTOS、uC/OS-II等,裸机编程通常指直接与硬件打交道,没有操作系统的介入。软件:包括驱动程序、应用程序、系统软件等。驱动程序负责硬件与软件的通信,应用程序则实现系统功能。2. 嵌入式开发工具链嵌入式开发通常需要一系列的开发工具:集成开发环境(IDE):常用的IDE有Keil、IAR Embedded Workbench、Eclipse等,它们提供了代码编辑、编译、调试等功能。编译器:常见的嵌入式编译器有GCC、ARM Compiler等,能够将源代码编译成适合嵌入式平台的机器代码。调试器:如JTAG调试器、ST-Link、OCD等,用于调试程序的执行,帮助开发者查看寄存器、内存等信息,实时诊断问题。仿真器:帮助开发者在没有实际硬件的情况下测试代码。3. 嵌入式编程语言嵌入式开发中,最常用的编程语言是:C语言:几乎所有嵌入式开发都使用C语言,因为它能够直接操作硬件,提供较高的执行效率,并且占用内存较少。嵌入式开发中,C语言常用于编写驱动、操作系统和应用层代码。汇编语言:对于需要极高性能和硬件控制的任务,汇编语言有时用于优化代码,直接操作硬件寄存器。C++:在一些复杂的嵌入式系统中,C++用于面向对象编程,尤其是在处理较为复杂的算法时。4. 嵌入式开发中的实时性要求实时性是嵌入式系统中至关重要的概念,特别是在处理信号采集、控制系统时。根据实时性要求,嵌入式系统可以分为:硬实时系统:对时间要求非常严格,任务必须在规定的时间内完成,否则将导致系统失败。例如,航空航天、医疗设备等。软实时系统:虽然有时间限制,但如果超时不会导致系统完全失败,系统仍然能正常工作。例如,视频播放、音频处理等。5. 基本的嵌入式开发流程嵌入式开发流程一般包括以下步骤:需求分析:明确系统的功能需求、硬件需求、性能要求等。硬件选择:选择适合的微控制器(MCU)或微处理器(MPU),并了解其硬件资源(如GPIO、UART、SPI、I2C等外设)。软件设计:根据需求设计嵌入式软件架构,包括驱动、RTOS配置、应用层逻辑等。编程与调试:在开发环境中编写代码,进行调试和测试,确保软件的正确性和性能。测试与验证:在目标硬件上进行系统测试,验证软件和硬件的协同工作。我面试看的是大佬的面经,链接放下边了  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
6
分享
牛客网
牛客企业服务