金山一面

忐忑的等了三天,一直以为笔试就被刷了,毕竟printf(“11+%d”,1)都没选对结果,不过昨天下午hr小姐姐终于给我打电话了qwq然后跟她约了今天早上十点半面试,九点出门,早到了半个小时(路真的有点难找),这个楼跟之前住那边的软件园的楼龄和分布都太像了,让我想起那个暑假在黑工厂打工的经历..扯远了,因为去面试的同学其实不算少,然后等了一会hr小姐姐带我到一个桌子前面,过了一会我的面试官就来了。
“你先自我介绍一下”
“blablabla…”其实我每次就很纠结要不要说自己是数字媒体方向的,感觉好像跟去面软件开发的关系不太大??
“课外有自己写一些小工具或者项目吗”
“没有”
“有看一些经典的书吗”
“没有,但是打算去看”真的有打算去看的,effecttive c++,人月神话,其实c plusplus primer也想看
“有看过github上面一些开源的项目的代码吗”
“有用过开源的库之类的吗”
“有用c++写过图形界面吗”
“平时怎么用c++的封装多态继承呢”
“stl容器的底层实现?链表是双向的还是单向的?有验证过吗?为什么这么觉得呢?”
“你在负责一个点餐系统项目的前端是吧,用什么语言,用到什么技术呢”
“JavaScript和c++有什么分别呢”
因为我说有在学opengl,所以还问了一些opengl相关的,上次虎牙那边就是opengl吃了亏,所以这次差不多把我知道的都讲了
然后问了一下笔试的题目,讲了一下思路,也没太仔细问,感觉剑指offer上面的一些注重鲁棒性的思想还是有帮助的,我跟面试官说除法要注意分母不能除0的情况他点了点头,然后说可能数字相乘会溢出所以用了个long型(其实我用的是long long)然后问了我long类型的长度,差点栽在64位的long长度上,纠结了一会说了是8位(但是回来百度其实跟编译器有关系,vs还是4位),其实在答卷上还有考虑乘数有几个0的情况,但是当时没有跟面试官说
然后就问了一些计组的问题,我!真!的!不!记!得!了!
出了门口就在想流水线是个什么东西来着,然后仔细一想好像说错了,刚刚看了课件才知道我脑子里想的是冒险和竞争
然后全相联映射和组相联映射我居然说了没接触过哈哈哈哈哈哈,但是当时真的忘了是什么东西
到了地铁才想起来是计组的东西,我还问了面试官是操作系统的东西吗?面试官无奈到吐血哈哈哈哈
最后问了我喜不喜欢c++,我犹豫了,是的,我犹豫了,然后面试官说想了那么久好了我知道答案了你回去吧,留下一个潇洒的背影,头也不回的那种。
其实这个问题真的很虚嘛!跟不一样的东西比是不同的感觉呀!比如做数图作业的时候用opencv和c++写 跟 用matlab写代码量是双倍到三倍的差别,当然更喜欢matlab了;但是跟java这些不太熟悉的语言比我又更喜欢c++,因为比较亲切嘛;跟c一比c++还有继承啊多态啊这些特性感觉很神奇很厉害所以更喜欢c++…我最后说了不讨厌,真是神补刀

补充:
面试官说JavaScript是不需要编译的,百度了一下说js是解释型语言不是编译型语言,不需要编译的(大部分脚本语言都是解释型语言,比如python/C#/java/javascript/shell)

解释型语言是相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。比如Python/JavaScript / Perl /Shell等都是解释型语言。 解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程序,每个语句都是执行的时候才翻译。(效率比较低,依赖解释器,跨平台性好.)

两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。

编译型语言与解释型语言的区别及各自的优缺点

猜你喜欢

转载自blog.csdn.net/unirrrrr/article/details/80529762