一般大公司都会有类似逻辑测试或者IQ测试题, 这些题考的并不是你对某种技能(编程语言)的掌握情况, 相反, 这是为了过滤掉比较笨的人, 因为……我觉得太笨的人写不了程序.
所以, 你选任何一种语言都是带有偏见的, 碰巧, 这里有一种语言, 只有4条指令, 处理所有的都是非负整数. 在这种语言里, 变量不需要定义, 但是使用前需要像 PYTHON一样赋值(或者清空), 这种语言好理解, 也能拿来当面试题.
清空变量
用 ZERO(X) 来把X变量清空, 比如以下 相当于 X=0
ZERO(X)
赋值
用 ASGN(X, Y) 把 Y 变量赋值于X, 相当于 X=Y 这里需要注意的事, 我们并不能把任意一个常数值赋于变量, 也就是说 Y 必须是变量而不是常量.
增加1
用 INCR(X) 把 X 变量增加1, 相当于 X++
循环
用 LOOP(X) {} 来循环 X 次 花括号里的内容, X可以在循环里被改变, 不过循环还是执行X次. 相当于:
for (; x > 0; -- x) {
}
我将会开启这个逻辑编程系列, 你将会发现, 尽管只有4条语句, 但是可以做的事情实在是很强大.
比如, 如何定义 ADD(X, Y) 使得 X += Y
ADD(X, Y) {
LOOP(Y) { 循环 Y 次
INCR(X) 每次把X加一
}
}
是不是很有意思? 有点像高级版的汇编语言. 面试考这个, 一是考你阅读理解, 二是考你逻辑编程.
英文: Introduction to Logic Tests Series
面试经历
- 写了十几年代码, 谷歌/Google认为我还不够Senior
- Jane Street第一轮一小时面试体验卡(伦敦软件工程师)
- Meta/Facebook四次面试经历
- 三次冲击谷歌软件工程师: 我的面试起伏录 (谷歌面试是不是一生只有三次机会?)
- 记两次伦敦抖音面试经历(Tiktok)
- 我的面试谷哥GOOGLE伦敦SRE的经验和教训
- 记Facebook的第一轮技术面试(伦敦脸书)
- 记微软Principal SE的第一轮面试
- 我的AMAZON面试经历与经验之谈(亚麻伦敦面经)
- 离伦敦脸书最近的一次 - 记FACEBOOK伦敦终面经历
面试题
- 软件工程师面试: TCP/IP协议是什么?
- 软件工程师经典面试题: 当你在浏览器的地址栏敲入google.com并按回车后发生了什么?
- 谷歌面试题: 迷宫随机生成算法
- 软件工程师数据库面试技巧之 SQL中的第二名记录
- 软件工程师面试技巧之 动态规化 - 整数拆分
- 软件工程师面试技巧之 如何检查数独的有效性
- 去年 Google 的面试题 - 打印消息
- 软件工程师面试技巧之 使用哈希表降复杂度
- 微软面试题: 三角形的面积是多少?
- 英国 IT公司 电话面试的一些技巧 (程序员)
- C/C++ 中的内存管理器(堆与栈)
- C++的 map 当键(Key)不存在的时候会发生什么?
- 随机数独游戏的算法设计 (Sudoku)
- 经典二叉树的镜像的递归算法
- 谷歌的扔鸡蛋问题
- 面经: Python 的 List 和 Dictionary 有啥区别?
- 逻辑测试系列 - 一种只有4种语句的编程语言 - (1)
- 逻辑测试系列之二 - DECR
- 逻辑测试系列之三 - SUBT
面试技巧
面试其它
- 产品设计和系统设计面的区别(Product Design vs System Design)
- 45 分钟模拟面试(编程、系统设计)+职业发展建议
- 英国和美国IT公司面试的主要区别
- 拒了甲骨文(Oracle)的 Offer
上一篇: 即使你不打算换工作, 你每年也得去面试
下一篇: 记一次通过手机TeamViewer远程登陆家里服务器再远程登陆VPS敲命令在STEEMIT上发贴的经历
扫描二维码,分享本文到微信朋友圈
