金山云C++开发 一面二面面经 已意向
10.20意向,速度还是挺快的,不算周末,一面到意向就5天。
金山云 后端开发 二面 10.15
自我介绍:
Q:了解哪个语言?
A:C++和python,最熟悉C++
Q:说一下C++11的新特性有哪些?
A:auto、range for循环、lambda函数式编程、nullptr解决了C99中NULL的二义性、智能指针
Q:说一下智能指针
A:auto_ptr 、shared_ptr、 unique_ptr 、weak_ptr
Q:作用都是什么?
A:回答略
Q:它们的实现原理?
A:回答略
Q:实现思想是什么?
A:RAII 资源获取即初始化
Q:python有没有对应的东西和机制?
A:这个不太了解,使用python没用到过内存管理
Q:没用过就对了,因为python已经帮你实现好了,所以呢没用过,但是C++没有,这里给我讲了5分钟的课,涨知识了
Q:做道算法题吧,你觉得你的编程能力如何?如果你觉得一般我就出个简单的,觉得不错我就出的稍微难一点,做出来加分更多
A:平时做力扣简单的题都能做出来,中等的能做出来三分之一吧,困难的题大多都是学习
Q:那你写一个LRUCache吧
A:写出来了
Q:说一下实现的思路,讲一下
A:讲
Q:你这个是用双向链表做的,单向链表能写出来吗?
A:刚上来说应该不行,想了一会说可以
Q:为什么可以?
A:支支吾吾说不清楚
Q:你看看你哪地方用到了双向链表,是不是只有remove,然后开始讲课
A:后面基本都是引导我如何用单向链表实现,而且最后给我讲了实现方法
金山云 后端开发 一面 10.14
自我介绍
Q:介绍项目,项目应用的背景,怎么做的,创新点在哪,遇到了什么困难,有什么代码上的问题,怎么调bug的
Q:遇到过程序崩溃的情况吗?怎么调试?gdb咋用的
Q:遇到过程序反复崩溃的情况吗?而且每次崩溃的地方都不一样?
Q:程序的崩溃的原因是什么?
A:大部分是因为内存泄露或内存溢出?
Q:你是怎么解决内存泄露和溢出问题的?
Q:C++程序优化的方法
Q:用过哪些linux命令?比如网络方面的?
A:回答了ifconfig、route、netstat
Q:netstat的都有什么参数?
A:忘了
Q:查看cpu的命令呢? A:top和sar
Q:问了top有啥参数,几个参数的意思
A:不会,这些都是知道,用的次数不多
Q:说下你常用的,关于系统的
A:ps -ef | grep 查看进程
Q:ps -ef 里进程状态有个uninterrupt单词记不清了,讲一下
A:没印象,不了解
Q:进程的状态有那几个?
A:就绪、运行、阻塞
Q:编程遇到过CLOSE_WAIT状态吗
Q:知道TIME_WAIT吗?有什么作用,TIME_WAIT是谁发起的,谁会进入TIME_WAIT
Q:TIME_WAIT有哪些影响?
Q:TIME_WAIT对端口有什么影响
Q:你有什么缺点和优点