308 lines
10 KiB
Plaintext
308 lines
10 KiB
Plaintext
|
label common_chapter_2:
|
|||
|
|
|||
|
label common_chapter_2_1:
|
|||
|
|
|||
|
scene bg office
|
|||
|
with fade
|
|||
|
#scene overlay another view
|
|||
|
|
|||
|
"""
|
|||
|
一个阳光明媚的工作日上午。
|
|||
|
|
|||
|
ShallowOut公司内,Linux开发组的[bl.name]坐在工位上专注地工作中。
|
|||
|
|
|||
|
这时,同事[zz.name]从旁边走了过来。
|
|||
|
"""
|
|||
|
|
|||
|
zz "[bl.name],HR那边让你过去面试一下新人。"
|
|||
|
zz "待会十一点到面试那边去就行了。"
|
|||
|
|
|||
|
bl "好好,我到时间就去。"
|
|||
|
|
|||
|
"""
|
|||
|
公司又来新人了啊,希望面试顺利吧。
|
|||
|
"""
|
|||
|
|
|||
|
bl "时间到了,该去了。"
|
|||
|
|
|||
|
#play effect writing
|
|||
|
|
|||
|
label common_chapter_2_2:
|
|||
|
|
|||
|
scene bg interview
|
|||
|
with fade
|
|||
|
|
|||
|
hr "请你简单介绍一下为什么会选择我们Linux开发部门吧。"
|
|||
|
w "因为我是SE专业的,想找一个对口的。"
|
|||
|
|
|||
|
"""
|
|||
|
咚咚。。。
|
|||
|
|
|||
|
响起了两声敲门声,随即一个面色圆润的青年走了进来。看起来有些发福,但也不至于说胖。
|
|||
|
"""
|
|||
|
|
|||
|
hr "好的,我的面试部分就到这里了。"
|
|||
|
hr "这位是你面试部门的成员,剩下的面试部分就由他来进行。"
|
|||
|
|
|||
|
w "好的。"
|
|||
|
|
|||
|
"""
|
|||
|
我说话的同时点了点头,表示了解。那位青年则径直走到我面前的那个空座椅那里坐下。
|
|||
|
|
|||
|
我没有从他的眼神等各个方面读出他的任何感情。但也没有那种不怒自威的威压。感觉是一个很平和的人。
|
|||
|
|
|||
|
这就是我以后的同事吗?
|
|||
|
|
|||
|
我如此幻想着,但首先我得通过这场面试才可以。
|
|||
|
"""
|
|||
|
|
|||
|
bl "这位同学你好。"
|
|||
|
|
|||
|
"青年开口说话。但声音与我想象的略有出入,看着他圆润的体型,还以为说话的音调会更低一些。"
|
|||
|
|
|||
|
if is_open_source_project:
|
|||
|
bl "你的简历上写着参加过一些开源软件的开发,可以简单介绍一下吗?"
|
|||
|
else:
|
|||
|
bl "你的简历上的项目经历中写着你参与了嵌入式系统课设的开发,可以简单介绍一下吗?"
|
|||
|
|
|||
|
"""
|
|||
|
第一个问题猝不及防地抛了过来。
|
|||
|
|
|||
|
不行不行,我要专注于眼前的面试。
|
|||
|
|
|||
|
没想到一上来就针对我简历里的项目经历发问,我该怎么回答才好?
|
|||
|
"""
|
|||
|
|
|||
|
# lose 1 point:
|
|||
|
# - use template
|
|||
|
# get 1 point:
|
|||
|
# - truth introduction & open source project
|
|||
|
# not changed:
|
|||
|
# - truth introduction & embedded project
|
|||
|
menu switch_project_introduce:
|
|||
|
"背诵模板糊弄过去":
|
|||
|
$ bl_score -= 1
|
|||
|
if is_open_source_project:
|
|||
|
w """
|
|||
|
好的面试官,我简单介绍一下我参与的这些开源项目。
|
|||
|
|
|||
|
我参与的开源项目项目大多都是和意大利面相关的项目,这些项目也是得到了是UFO实验室的资助。
|
|||
|
|
|||
|
这些项目基本上都是通过将意大利面和42号混凝土配合在一起,可以找准自身的差异化赛道。
|
|||
|
|
|||
|
进而找到自己擅长的垂直领域,实现了行业共建和载体打通。
|
|||
|
|
|||
|
。。。(略)
|
|||
|
"""
|
|||
|
else:
|
|||
|
w """
|
|||
|
好的面试官,我简单介绍一下我的这个项目。
|
|||
|
|
|||
|
我参与的项目是这个意大利面项目,是UFO实验室的一个重点项目。
|
|||
|
|
|||
|
通过将意大利面和42号混凝土配合在一起,可以找准自身的差异化赛道。
|
|||
|
|
|||
|
进而找到自己擅长的垂直领域,实现了行业共建和载体打通。
|
|||
|
|
|||
|
。。。(略)
|
|||
|
"""
|
|||
|
|
|||
|
"""
|
|||
|
我不紧不慢地按照面试模板套路一路背诵了下来。自我感觉滴水不漏,还好来之前有复习这个。
|
|||
|
|
|||
|
背诵完模板后,我稍微观察了一下青年的表情。
|
|||
|
|
|||
|
说不上有什么负面情感,但也完全没有对我回答满意的意思。
|
|||
|
|
|||
|
难道是我模板背诵的不够流畅吗?
|
|||
|
"""
|
|||
|
|
|||
|
"认真介绍":
|
|||
|
if is_open_source_project:
|
|||
|
$ bl_score += 1
|
|||
|
w """
|
|||
|
好的面试官,我简单介绍一下我参与的这些开源项目。
|
|||
|
|
|||
|
我的这些开源项目其中大多都是围绕我大学课程设计中的具体的,实际的问题来设计的。
|
|||
|
|
|||
|
当然,其中还有一小部分是我个人的兴趣,它主要涉及Imbalance这个领域。
|
|||
|
|
|||
|
而其中有那么几个小工程已经被Imbalance它们采纳为最佳解决方案了。
|
|||
|
"""
|
|||
|
|
|||
|
"""
|
|||
|
我对自己写的这些代码如数家珍。讲起来可以说是滔滔不绝。
|
|||
|
|
|||
|
但这是面试,所以我尽可能精简地说明我的这些开源工程。尽可能让面试官了解到他可能感兴趣的部分。
|
|||
|
|
|||
|
我稍微观察了下青年的表情,似乎与进来时的心情有所不同。
|
|||
|
|
|||
|
虽然他的面目上仍然没有显露出任何明显的情绪。但他的眉宇在我回答后稍微舒展了一些。
|
|||
|
|
|||
|
也许我的介绍还算可以?
|
|||
|
"""
|
|||
|
else:
|
|||
|
w """
|
|||
|
好的面试官,我简单介绍一下我的这个项目。
|
|||
|
|
|||
|
这是学校布置的课程设计项目,我通过参与这个课程设计,充分地了解了嵌入式系统的设计和原理。
|
|||
|
|
|||
|
我在课设小组中的分工主要是编写程序。我们小组分配到的题目是出租车计价器。
|
|||
|
|
|||
|
通过按钮来模拟外部传感器的输入,并在LCD显示屏上正确显示当前需要支付的车费。
|
|||
|
"""
|
|||
|
|
|||
|
"""
|
|||
|
我对介绍学校的课设毫无信心,我确信它不可能吸引到面试官,但我还是得硬着头皮介绍。
|
|||
|
|
|||
|
介绍完毕,我稍微观察了下青年的表情。
|
|||
|
|
|||
|
毫无变化。
|
|||
|
|
|||
|
依然是一副扑克脸,观察不到任何表情上的变化。
|
|||
|
|
|||
|
可能他对此并不感兴趣,只是例行一问吧。
|
|||
|
"""
|
|||
|
|
|||
|
# if user choose open source project, it will answer correctly,
|
|||
|
# otherwise it will answer wrongly.
|
|||
|
# lose 1 point:
|
|||
|
# - answer wrongly
|
|||
|
if not is_open_source_project:
|
|||
|
$ bl_score -= 1
|
|||
|
|
|||
|
if is_open_source_project:
|
|||
|
bl "好的,那既然你编写了这些开源项目,可以说一下这些项目用的是什么构建系统吗?"
|
|||
|
w "我的这些项目都是在Windows上运行的。因此使用的是Visual Studio。"
|
|||
|
else:
|
|||
|
bl "好的,那既然你参与了这个项目,可以说一下这个项目用的是什么构建系统吗?"
|
|||
|
w "不好意思,我不太清楚。"
|
|||
|
bl "不太清楚?"
|
|||
|
"也许是我的回答在他的意料之外,青年换了一个姿势,并以疑惑的语句反问我。"
|
|||
|
bl "你涉及到编写项目的代码了吗?"
|
|||
|
w "有的。"
|
|||
|
bl "那你是你用什么编写代码的?"
|
|||
|
w "打开编辑器编码"
|
|||
|
bl "什么编辑器?"
|
|||
|
w "Visual Studio"
|
|||
|
"青年提问的语速越来越快,言语间透露出一丝不耐烦。"
|
|||
|
|
|||
|
bl "好的,现在假设我们有一个main.cpp的文件,里面有一个写好的hello world程序。"
|
|||
|
bl "那么我需要怎么做才可以将它变成一个可执行文件?"
|
|||
|
|
|||
|
if is_open_source_project:
|
|||
|
w """
|
|||
|
如果是使用Visual Studio的话,可以直接新建工程然后包含这个文件,然后点击编译即可。
|
|||
|
|
|||
|
如果您指的是更底层的方式的话,可以调用cl.exe或link.exe进行手动编译和链接。
|
|||
|
|
|||
|
具体的使用方法我不太清楚,但可以查手册。
|
|||
|
"""
|
|||
|
|
|||
|
"青年微微点了点头,他似乎对我的回答还算满意。"
|
|||
|
else:
|
|||
|
w "直接编译。"
|
|||
|
bl "你说的编译是指打开Visual Studio,创建项目,导入文件,点击编译按钮?"
|
|||
|
w "是的。"
|
|||
|
bl "这也是步骤的一部分,你刚才应该把我说的这些描述出来的。"
|
|||
|
"青年言语中透露着不满,看来我回答的实在是太差了。"
|
|||
|
w "对不起,是我的问题。"
|
|||
|
"我不知道该如何是好,嘴里不自觉地冒出来道歉的话语。"
|
|||
|
"青年看起来也没有心思继续这个话题了。"
|
|||
|
|
|||
|
# lose 1 point:
|
|||
|
# - answer correctly
|
|||
|
# get 1 point:
|
|||
|
# - answer wrongly
|
|||
|
bl """
|
|||
|
那好,我们换一个问题。
|
|||
|
|
|||
|
如你所知,我们是Linux开发部门,我们未来会在Linux下进行编程工作。
|
|||
|
|
|||
|
Linux下没有Visual Studio可以用,那么还是刚才那个问题。
|
|||
|
|
|||
|
我们有一个写好的hello world程序放在main.cpp的文件里面。
|
|||
|
|
|||
|
我需要怎么做才可以将它变成一个可执行文件?
|
|||
|
"""
|
|||
|
|
|||
|
menu switch_linux_build:
|
|||
|
"直接make":
|
|||
|
$ bl_score -= 1
|
|||
|
w "执行make"
|
|||
|
bl "这个文件夹下就一个main.cpp,没有别的文件,就直接执行make就可以了吗?"
|
|||
|
w "是"
|
|||
|
|
|||
|
"先编写编译脚本":
|
|||
|
$ bl_score += 1
|
|||
|
w """
|
|||
|
先编写相应的编译脚本。
|
|||
|
|
|||
|
编译脚本可以是Makefile,CMakeLists.txt,或者普通的bash。
|
|||
|
|
|||
|
把需要编译的文件包含进去,然后执行对应的编译程序。
|
|||
|
|
|||
|
比如Makefile就执行make,CMakeLists.txt就先执行cmake进行配置,再执行make等。
|
|||
|
"""
|
|||
|
|
|||
|
bl """
|
|||
|
好的,下一个问题。
|
|||
|
|
|||
|
现在我有一个需求。我希望执行make的时候可以在编译日志里输出666。
|
|||
|
|
|||
|
我应该怎么做,创建什么文件,写哪些东西。
|
|||
|
|
|||
|
你有5分钟的时间,可以用你喜欢的任何搜索引擎或工具来查询答案。
|
|||
|
|
|||
|
你可以使用这台电脑来查询。
|
|||
|
"""
|
|||
|
|
|||
|
"""
|
|||
|
青年转过桌旁的那部笔记本,指了指,暗示我可以过去。
|
|||
|
|
|||
|
我带着椅子移动到电脑面前,打开浏览器开始查询。
|
|||
|
|
|||
|
五分钟的时间转瞬即逝。该要作答了。
|
|||
|
"""
|
|||
|
|
|||
|
menu switch_make_output:
|
|||
|
"aa":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
"bb":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
|
|||
|
|
|||
|
menu switch_online_search:
|
|||
|
"去CSDN查询":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
"去Stack Overflow查询":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
|
|||
|
menu switch_offline_search:
|
|||
|
"应该是去软件仓库查询":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
"应该使用man命令查询":
|
|||
|
|
|||
|
w ""
|
|||
|
|
|||
|
label common_chapter_2_1:
|
|||
|
|
|||
|
scene bg office
|
|||
|
with fade
|
|||
|
#scene overlay another view
|
|||
|
|
|||
|
bl "唉,这面试面的我头大啊。"
|
|||
|
bl "还是摸鱼睡觉吧。"
|
|||
|
|
|||
|
return
|