📜  Smartprix 面试经验 |设置 3(校内)

📅  最后修改于: 2022-05-13 01:58:35.322000             🧑  作者: Mango

Smartprix 面试经验 |设置 3(校内)

最近,Smartprix 进行了一次池放置驱动。
有两轮:
1.逻辑/技术能力测试
2. 编码轮

第一回合:
第一轮分为两个测试,
1. 逻辑能力测试: 30分钟20题,答对一题扣3分,答错一题扣1分。大多数问题都是基于模式匹配的。除此之外,还有来自系列、缺项和血缘关系的问题。到处都是中级问题。

2. 技术 MCQ 测试:该测试由 30 分钟内的 10 个问题组成。问题来自 c++ 和Java。有些是基于输出的,而有些是基于逻辑测试的。问题是中等水平。
在大约 650 名学生中,有 63 名学生被选中参加下一轮 - 编码轮。

第二轮:

这一轮有 2 道编码问题,应该在 3 小时内完成。问题的水平相当不错。基本上问题是基于你在工作中最有可能面临的实际问题。
问题1。击键:编写一个程序来模拟具有给定键及其操作的键盘。要模拟的键类型为:字母数字空格:按原样打印并移动光标。 @ = 如果关闭则切换大写锁定,反之亦然,最初它是关闭的。 # = 在光标位置插入新行并移动光标。 = 将光标向右移动一位。 / = 删除左边的一个字符并将光标指向该位置。 ? = 如果光标位于最后一行,则用作向下箭头,没有任何变化。 ^ = 如果光标位于第一行,则用作向上箭头,没有任何变化。

Example: asdf#q#pqr^^23
 Output: asdf23f
            q 
            pqr 

以上问题为210分。

这道题250分。
问题2。这个程序有点像在你的程序中执行汇编语言的命令。给出的命令集是:
1. ECHO 1:打印数字。例如。 ECHO 1 打印 1
2. 退出:退出程序。
3. SET a 0:给变量赋值0。
4. ADD 2 3 z:这意味着 z = 2+3 将前两个值的总和分配给第三个值。
5. GOTO and LABEL:作为c语言定义的label和goto,label可以在goto之前也可以在goto之后
6. IF 和 END:如果 IF 条件为真,则执行 IF 和 END 命令之间的语句,否则不执行。例如。 IF a 10 statement1 statement2 END 即,如果 a=10。
7. CONTINUE:按c语言定义工作。
变量名只能是字母[az],变量的默认值为0,使用前无需定义或设置。
例子:

Input        Output
   SET a 0       1
   LABEL 100     2
   ADD a 1 a     3
   ECHO a        4
   IF a 5        5
   EXIT
   END    
   GOTO 100