金山 c++ 一面 二面 面经

一面

  1. 多态怎么实现的
  2. 多继承的问题,其他缺点,多继承其他实现方法
  3. 类模板和函数模板调用时的区别
  4. 怎么在通用vector里实现特殊的string vector
  5. 异常处理
  6. 进程里的内存结构
  7. 静态变量什么时候内存分配
  8. 堆区的内存怎么管理, 除 了new出来的还有什么适合raii 管理
  9. c++多线程参数,多线程会出现的问题
  10. 怎么解决死锁,那怎么提前避免死锁
  11. 保证线程安全的机制
  12. 开放题:多线程程序怎么提升性能,怎么让线程任务分配更快
  13. c++新标准特性,模板新特性有哪些
  14. lamda返回类型
  15. lamda,有哪几部分,
  16. 完美转发,怎么实现
  17. 最简单的单例模式怎么实现
  18. 熟悉的数据结构,堆有什么规律
  19. 有序二叉树是什么结构
  20. 有哪些优秀的排序算法,快排坏情况,哪些稳定
  21. 归并和快排的基本思想
  22. 排序算法性能指标有哪些
  23. 空间复杂度表现比较好的算法,优秀的里面有哪些
  24. Q0bejct里面有什么
  25. 怎么自己实现单线程信号槽机制,一个信号连多个槽怎么实现
  26. 擅长的代码,专业课

二面

  1. 多态,虚指针怎么知道调用对应的虚函数是哪个,多态的优点,缺点
  2. 类型转换几个关键字的作用,const cast要注意的问题
  3. 除了关键字c++还有哪些类型转换(单参数构造函数隐式转换),explicit的作用
  4. 介绍几个智能指针,weak ptr为什么能实现
  5. 自定义 unique ptr怎么写,移动构造怎么实现
  6. 静态库和动态库的区别
  7. 10w个IP地址,怎么找出访问量最多的10个(内存放不下)
  8. 自定义vector,(n,10)怎么实现,push back实现
  9. 反问:想招什么样的人(cpp技术及格,或者有远超同龄人的亮点的)

hr面

1.投了别的吗
2.研究生三年安排
3.实习....
都是常规问题,但是一周后说我不匹配挂了

#金山##金山办公面试##秋招#
全部评论
二面多久啊,问的全部都是手翘嘛
点赞 回复 分享
发布于 11-20 14:25 河北
佬什么时候hr面的啊 是感谢信了吗
点赞 回复 分享
发布于 11-28 15:42 广东
问了期望薪资嘛
点赞 回复 分享
发布于 12-14 22:34 新疆

相关推荐

12-18 10:50
已编辑
蚌埠坦克学院 C++
#金山# #金山办公面试# #金山校招# #牛客创作赏金赛# ===============时间线====================12-03 一面12-05 二面12-13 HR面12-18 OC ===============时间线====================12月12日更新,约HR面# 无自我介绍# 熟悉的C++版本C++11以后的基本都了解一些, 没有特别针对某个版本.# 智能指针1. `shared_ptr`: 支持拷贝、移动,可以作为返回值类型,避免大对象的拷贝. 引用计数是线程安全的2. `unique_ptr`:支持移动,可以通过转移所有权的方式,将对象的所有权转移给另一个独占指针3. `weak_ptr`: 支持拷贝,可以作为返回值类型,但是不能转移所有权,只能通过weak_ptr转成shared_ptr# gdb gcc有用过吗不怎么用gdb gcc有了解## gcc如何预处理忘了,回答gcc有参数控制```bashgcc -E main.c -o main.i```## 如何获取不进行链接的代码忘了,回答gcc有参数控制```bashgcc -c main.c -o main.o```# 线程安全的单例模式1. 通过C++11`std::call_once`实现2. 对指针判空执行两次,因为第一次判断为空后初始化前,可能其他线程已经初始化了,所以要两次判空问有没有其他的,回答原子变量应该也行,不是很了解。# 了解压缩算法吗不知道为啥问这个问题,面试官接着问是否了解哈夫曼,然后让讲一下自己了解的压缩算法。回答了科研做的图像压缩。# 项目## 项目结构略## 负载均衡怎么做的通过`roundRobin`方式实现,返回一个连接数量少的服务器;接着问道有考虑延迟吗,回答没有,因为是在单个机器测试的。## 单例模板基类是什么通过模板类是实现一个单例基类,子类通过CRTP的方式实现单例。## Qt键盘鼠标事件1. 键盘事件:`keyPressEvent` `keyReleaseEvent`2. 鼠标事件:`mousePressEvent` `mouseReleaseEvent` `mouseMoveEvent`# linux相关## docker如何建立目录映射回答,在创建容器时通过`-v`指定宿主目录和容器目录的映射关系。## top如何根据内存占用排序回答不知道,自己使用的基于top封装的btop,可以通过命令控制```bashtop -o %MEM```## 如何查找进程的句柄,回答不太了解。可以使用`ps`命令查询进程状态。查询大模型得到:进程句柄:操作系统为每个进程分配的一个唯一标识符。它主要用于操作系统内核和其他系统组件之间进行进程管理和通信。以下是关于进程句柄的一些关键点:```bashls -l /proc//fd```## 查看进程端口占用```bashnetstat -anp | grep ```## 查看进程打开的文件句柄回答不知道,查询大模型得到:```bashlsof -p ```# git回答稀碎,只会使用`push`, `pull`## git rebase`git rebase`可以将一个分支的更改应用到另一个分支上,可以用来1. 更新分支:    - 将当前分支的更改应用到最新的主分支(如 main 或 master)上,以保持代码的最新状态。    - 例如,如果你在一个功能分支上工作,而主分支上有新的提交,你可以使用 rebase 将功能分支的更改应用到最新的主分支上。2. 线性化提交历史:    - rebase 可以使提交历史更加线性,避免合并提交(merge commit)的出现,从而使提交历史更清晰。    - 例如,如果你从 main 分支派生了一个功能分支,并且 main 分支上有新的提交,rebase 可以将你的功能分支的提交重新应用到 main 分支的最新提交之上。3. 解决冲突:    - 在 rebase 过程中,如果遇到冲突,Git 会暂停并提示你解决冲突。解决冲突后,你可以继续 rebase 过程。    - 例如,如果你的功能分支和 main 分支在同一个文件上进行了修改,rebase 会提示你解决这些冲突。## git 如何创建分支回答使用`checkout`具体是:```bashgit checkout -b ```
查看20道真题和解析 牛客创作赏金赛
点赞 评论 收藏
分享
评论
9
38
分享
牛客网
牛客企业服务