案前独忆灯明灭

怕他什么整理无穷, 进一寸有一寸的欢喜

智能车队机试大纲

1. 综述

智能车队的选拔分为 程序组电路组 两组进行.程序组往后负责智能车的软件部分职责包括但不限于:

  1. 控制系统建模
  2. 智能车的主控程序
  3. 为新增加的硬件配置(或手写)驱动

电路组的职责包括但不限于:

  1. 绘制智能车的电路(小底板, 电机驱动板)
  2. 焊接电路板的元件
  3. 负责车模结构(如: 处理轮胎, 车模重心)
  4. 安装传感器
  5. 绘制3D打印模型

2. 评分方式

机试为加入智能车队的必要环节, 编程对程序组的重要性不言而喻, 对于电路组, 也需要自行编写电路板的测试程序, 故也需要具有一定的编程能力. 机试由四道题组成, 分值为: \(20 + 25 + 25 + 30 = 100\). 但考虑到二者的主攻方向不同, 电路组只需要完成前两题, 限时90分钟, 满分45分; 而程序组需要完成全部四题, 限时180分钟, 满分100分.

此外, 电路组还要增加电路基础知识面试, 故电路组的考核方式为:

\[ 总分(100) = 机试(45) + 电路基础面试(55),\]

程序组需要增加代码规范性考察, 满分20分, 故程序组考核分式为:

\[ 总分(100) = 机试(100) \times 0.8 + 代码规范性考察(20).\]

3. 机试

本次机试限定使用 C 或 C++ 请根据自己的习惯选择合适的语言, 服务器上编译命令如下:

C (GCC5.4)

/usr/bin/gcc -DONLINE_JUDGE -02 -w -fmax-errors=3 -std=c11 {srcpath} -o {exe_path}

C++ ( G++ 5.4)

/usr/bin/g++ -DONLINE_JUDGE -02 -w -fmax-errors=3 -std=c++14 {src_path} -o {exe_path}

机试时请 自行携带电脑, 并安装好C语言编译器和集成开发环境. 机试判题有智能车队的在线判题系统自动完成, 全程无人工参与, 系统输出得分即为最终试题得分, 以保障公平性. 机试时每道题限制 最大提交次数 为10次, 所以请线下编译测试后再提交. 机试时 允许携带纸质参考资料 但是不允许上网搜索答案, 机试时只允许使用浏览器打开在线判题系统网页, 如打开任何其他网页都按违规处理.

4. 电路基础面试

  1. 常见电子元器件的辨别和具体数值的读法;
  2. 基础电路分析,电阻分压网络计算;
  3. 二极管、晶体三极管及MOS管相关知识;
  4. 万用表的使用及原理;
  5. 信息提取整合运用能力及英文资料阅读;
  6. 实操技能(待定):

5. 代码规范性考察

智能车是一个团队工作, 保持代码规范非常重要, 智能车队一直遵从 Google C++ Style. 我们将随机抽取每个人的3份机试提交, 进行代码规范性考察. 主要考察变量名, 缩进, 注释, 名称空间的规范性以及逻辑结构的必要性.

情况 得分
非常规范 15 - 20
基本还算规范 10 - 15
缩进不规范 5 - 10
变量名不规范 0 - 5

6. 机试考察范围

包括但不限于:

  1. 结构体, 共用体, 枚举等数据类型
  2. 排序, 搜索等基本算法
  3. 队列, 栈等基本数据结构
  4. 散列操作
  5. C语言的基本特性

每道题目都会限制程序运行时间和内存, 请权衡时空成本. 灵活选择空间换时间, 还是时间换空间.

机试题目偏向于简单, 侧重于考察语言特性, 如果大家都不会做, 也就失去了我们这次机试的意义了.

7. 程序组附加题

由于机试题目较为简单, 而机试时间充足, 故增设一道30分的附加题, 供程序组选做. 如果担心代码规范性得不到满分, 可以选做附加题, 但附加题得分加入后总分仍然不超过100分. 附加题考察侧重于算法, 包括但不限于:

  1. 二叉排序树
  2. 平衡二叉树
  3. 哈夫曼编码
  4. 树的遍历和重构
  5. 并查集
  6. 基本图论算法
  7. 动态规划算法
  8. 基本数论算法
  9. 对时间和空间复杂度的估计与权衡

8. 电路组附加题

专业软件使用 (CAD/SolidWorks,Altium Designer), 20分.

⬅️ Go back