金山二面

#金山# #金山办公面试# #金山校招# #牛客创作赏金赛#
===============时间线====================
12-03 一面
12-05 二面
12-13 HR面
12-18 OC 
12-27 收到签约邮件
===============时间线====================
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有参数控制
```bash
gcc -E main.c -o main.i
```
## 如何获取不进行链接的代码
忘了,回答gcc有参数控制
```bash
gcc -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,可以通过命令控制
```bash
top -o %MEM
```
## 如何查找进程的句柄,
回答不太了解。可以使用`ps`命令查询进程状态。
查询大模型得到:
进程句柄:操作系统为每个进程分配的一个唯一标识符。它主要用于操作系统内核和其他系统组件之间进行进程管理和通信。以下是关于进程句柄的一些关键点:
```bash
ls -l /proc//fd
```
## 查看进程端口占用
```bash
netstat -anp | grep 
```
## 查看进程打开的文件句柄
回答不知道,查询大模型得到:
```bash
lsof -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`
具体是:
```bash
git checkout -b 
```
全部评论
收到签约邮件了
点赞 回复 分享
发布于 11-11 15:05 河南
佬,请问你做的客户端的项目是啥呀能推荐一下吗
点赞 回复 分享
发布于 04-13 10:20 广东
请问项目这方面能推荐下吗,同方向
点赞 回复 分享
发布于 02-16 19:58 湖北
客户端怎么问这么多linux的问题
点赞 回复 分享
发布于 02-15 16:48 湖北
佬,请问您是研究生吗
点赞 回复 分享
发布于 01-13 21:13 湖北
佬,现在什么状态
点赞 回复 分享
发布于 2024-12-24 18:00 安徽
出结果没
点赞 回复 分享
发布于 2024-12-16 18:38 新疆
求个timeline 佬
点赞 回复 分享
发布于 2024-12-13 20:04 重庆
终面了tt,我两周前二面,不知道还约不约
点赞 回复 分享
发布于 2024-12-10 15:24 上海
佬 约hr面了没
点赞 回复 分享
发布于 2024-12-10 12:03 重庆
c++还是服务端
点赞 回复 分享
发布于 2024-12-07 22:54 河北
佬base哪里
点赞 回复 分享
发布于 2024-12-06 19:46 美国
佬,到终面了嘛
点赞 回复 分享
发布于 2024-12-06 16:38 湖南

相关推荐

11-17 11:15
门头沟学院 Java
金山办公终于发offer了,但薪资和平台都不如已有的offer打算拒了,A不了薪资,不满意直接拒了,留给需要的人嘿嘿嘿时间线:10.14线下一面 ,10.23线上二面,下午发测评,11月1日HR面,11月14日电话谈薪,11月17日直接发offer
star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
offer帮选
点赞 评论 收藏
分享
查看21道真题和解析
点赞 评论 收藏
分享
一面 202512021.MySQL索引2.MVCC3.Redis缓存击穿、缓存穿透、缓存雪崩4.使用Redis分布式锁需要考虑哪些问题(1)互斥,保证同一时间(2)防止死锁:过期时间+自动续期(3)防止锁被误删:先校验再删除(4)释放锁是原子操作(5)锁的续期5.Redis持久化:RDB+AOF(1)RDB:(2)AOF(3)混合6.kafka消息持久化7.RocketMQ和kafka的区别8.项目:分布式会话鉴权、RPC为什么使用TCP协议、RPC这个项目主要实现了什么?9.实习10.TCP和UDP区别11.UDP如何保证数据是正确的?在哪一层实现的?12,手撕:输入:l1 =[7,2,4,3],l2_[5,6,4]输出:[7,8,0,7]解释:7243+564=7807二面 202512051.介绍实习中比较有挑战性的工作2.Redis分布式锁是自己实现的还是第三方封装好的接口?--项目里其他人实现的?3.那你知道是怎么做的吗?--不知道4.自己想实习分布式锁,有什么思路?--首先要保证加锁和释放锁都是原子性的,锁的key,超时时间,支持重入5.微信支付的话,有个微信授权,这个微信授权过程是什么样的?比如说淘宝,支付可以选择支付方式,我怎么授权给淘宝??--其实这个我根本没听懂问什么?6.点评项目里缓存技术,使用了布隆过滤器的目的,为什么能解决缓存穿透的问题?7.前提是不是全部数据加载到布隆过滤器??如果数据量很多,全部加载到布隆过滤器??误判率增高,会不会影响效果??布隆过滤器里存数据,数据有删除的话,怎么解决??项目里用布隆过滤器内存多大??自己实现的还是第三方已有的?自己实现的内存有多大??误判率有多大??---给我问懵了😭8.为什么做RPC框架项目?为什么不采用已有的RPC?这个项目是怎么做的?有没有调研已有的RPC框架是怎么做的?和已有的RPC框架有什么区别?DUDDO底层协议是??有没有做过性能比对?你怎么知道你这个协议性能比较高?9.用到了很多中间件,了解程度,会不会更深层次的去了解这些组件?用的最多的哪个?Redis的底层机制,他的优势?10.Redis有持久化,能不能存储核心数据?能不能直接使用Redis当db,这样就没有缓存一致性问题了?--Redis的持久化都有数据丢失的风险11.什么情况下会丢失??-RDB:在上次持久化之后到下次持久化之前,如果宕机,会丢失数据;AOF:持久化的是写命令,AOF文件可能会损坏12.那mysql临时断电,会不会也有内存到数据库的时候数据丢失的风险?像redo undo这种日志也是在内存里,没刷到磁盘之前,数据库重启了,会不会有数据丢失的风险?13.你还有什么你的某些优势我没有了解到的?--尬住了。。
查看24道真题和解析
点赞 评论 收藏
分享
12-05 10:54
已编辑
华中科技大学 Java
烂柯_:佬,我和你经历很像,你投的这些我也基本投了
软件开发投递记录
点赞 评论 收藏
分享
评论
8
52
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务