金山WPS

收藏
工具
1000-9999人
上市
珠海/武汉/广州/北京
学历友好榜
榜单瞪羚企业榜单高新技术

1

在招职位

242

面试经验

24

真题试卷

查看官网
上传简历
此刻你想和大家分享什么
职位类型
全部
后端开发
最新
热门
2024-12-06 20:46
中山大学 前端工程师
查看20道真题和解析 投递金山WPS等公司10个岗位
点赞 评论 收藏
分享
2024-12-27 23:30
已编辑
蚌埠坦克学院 C++
#金山# #金山办公面试# #金山校招# #牛客创作赏金赛# ===============时间线====================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有参数控制```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道真题和解析 牛客创作赏金赛
点赞 评论 收藏
分享
2024-12-04 01:37
已编辑
蚌埠坦克学院 C++
#金山# #金山办公面试# # 自我介绍:略# 经常使用的容器`map` k,v可以存储操作id和函数,根据操作类型调用相应的方法,作为回调。# C++有哪些多线程库知道两种,一种是std:thread,一种是基于RAII思想封装std::thread得到的std:jthread# sort()使用了哪种排序算法`sort()` 底部使用了多种排序算法: 快排,堆排1. 当数据量大,分布随机时,使用快速排序2. 数据量小,使用插入排序2. 递归深度过深时使用堆排序# 排序算法的使用场景1. 快排:无序数组效率会很高,但是有序数组效率会很低,2. 归并排序:内存有限的情况下,可以使用多路归并3. 插入排序: 基本有序的数据,适合于插入排序。# 智能指针`weak_ptr`可以提升为`shared_ptr`吗?可以。1. `shared_ptr`: 会使用计数器来记录引用次数,当引用次数为0时,释放对象。2. `weak_ptr`:`weak_ptr`实现弱引用,用来解决`shared_ptr`的循环引用问题,可以通过`.lock()` 提升为 `shared_ptr`# 使用一段代码体现C++面向对象的思想C++面向对象的特性有三个 1. 封装 2. 继承 3. 多态 写了两个类,一个基类,一个子类,没有成员变量,子类重写了基类的虚函数###两个类的大小,回答没有考虑继承时的虚函数指针,所以回答的两个都是1。实际上因为对象会有一个虚函数指针,对于个一个64位的机器,指针的大小是8字节,所以两个类的大小都是8字节。# 实现字符串数字相加,相减需要对特殊情况做特殊处理1. 前导02. 正数+负数3. 负数+负数4. 小数-大数等等# 最后倒霉倒霉倒霉。面试期间,快手电话没接到,应该是约面的。结束之后去官网看已经挂了。此前快手三面,面试官问插入时不考虑发生冲突,只考虑扩容的hashmap,插入的平均时间复杂度是多少,面试官说是O(logN),只知道C++的最差是O(N),后来搜了一下java里有这个。。。讲解项目面试官说他没听懂😅。。。有错误的地方还请大佬指点。
查看8道真题和解析
点赞 评论 收藏
分享
2024-11-05 17:16
门头沟学院 C++
1.C++有哪些特性,请使用一段代码演示这些性质。我写了一些经典的继承,子类中重写的父类的虚函数,然后用父类指针指向子类对象,去实现多态。但是写的时候有点脑子发昏,把所有成员全public了,被面试官点评为这违背了封装。2.写两个类,两个类分别有一个虚函数,然后有一些char和int类型,写一个子类去继承这两个类。3.问上述子类的大小?我考虑两个虚函数指针以及内存对齐之后,给出了正确的大小。然后被面试官套路了,问我有子类有两个虚函数指针吗?我说没有只有一个,然后把答案改错,我是个傻子。4.如何指针类外访问私有成员?一开始是问如何访问私有成员,我说可以使用友元函数。忘了面试官怎么说的,但是引导我用指针去思考。我没写出来。后面查了一下,可以把类的指针转用reinterpret_cast成对应的数据类型,然后考虑此前类内的内存分布后,给指针位移去找到对应的变量。5.一些常规C++八股,智能指针和移动语义。6.问智能指针对象本身是不是线程安全的。7.问我自己写的一行代码,代码内容是用new申请一块堆内存,问这是不是线程安全的。8.c++的STL八股。9.问map和vector在已知key和下标的查询复杂度。我回答都是O(1)。10.c++sort是怎么实现的?我回答:我说根据数据量大小选择快排,堆排。不知道有没有归并,我没查过。11.用快排实现查询第K大的数。这个我写出来了,但是差以为,因为小标是0开始的,所以我实现的版本是第0大的数字是大的,而不是第一大的数字。#哪些公司面试官让你印象深刻?###金山###wps##牛客创作赏金赛##数据人的面试交流地##远程面试的尴尬瞬间##面试中的破防瞬间#
国棉17厂丶小王:sort是长度小于32选择插入排序。大于32选择快排,快排采用递归进行,如果递归栈的层数超过了1.5log n,那么就改用堆排,快排随机数的划分,40个以上采用九数取中,40个以下3数取中。(随机选择和递归深度msvc是这样的,其他stl不清楚),但是排序算法是这三个都一样的
点赞 评论 收藏
分享
2024-10-24 19:12
已编辑
武汉理工大学 C++
c++技术栈 ,面试官应该是go自我介绍 10min 1介绍实习项目,看你实习项目提到了微服务框架,简单介绍。    提到了protobuf,对比protobuf和json,怎么做压缩,哪些可以压缩,int可以压缩吗?浮点数可以压缩吗?2 看你简历写了dorker 怎么用的 用来干嘛 dorkfile怎么编写 常用指令 你觉得dorkerfile如果写的很多在容器运行时有什么坏处 了解dorker镜像底层的制作和原理吗 3 介绍一下进程 线程 协程 特点 原理 应用场景 。4介绍分布式文件系统他的优点,解决什么问题,怎么保证可靠性的。   针对存储效率和备份相关扯到了通信专业的信息论 问我学过没有 用较少的信息去恢复更多的信息流,用到了什么交叉码。说没学过,但是408里面的存储阵列和这个很像。   场景题:1G文件上传服务器,怎么保证高效和可靠性,设计一个系统。然后针对每个设计点提问。5 开始提kafka    你提到了kafka的生产者写入leader消息有多种确认方式,为什么kafka可以这么设计,或者说为什么这种消息队列可以这么设计,因为消息队列有很多种,听不懂问题。面试官又说比如一些转账业务,需要重传之类的就不好用kafka实现,他想让我回答kafka的应用场景,我说没有在不同的业务对比过,不太了解。6. nginx相关     场景题    nginx主要做负载均衡,如果让你实现一个nginx负载均衡器,怎么做,实现了两种,一种是基于随机数,一种是基于数组轮询的。 追问如果考虑长连接短链接呢,没答上来      7 mysql    场景:   mysql假设我现在是主从复制,那我针对不同的场景怎么去平衡效率和可靠性,如果你不了解,你自己去实现你怎么实现。   分表问题:介绍纵向和横向的拆表方法 8介绍研究生的研究项目,怎么做的,涉及哪些技术,baseline9. 介绍简历里的游戏项目,针对项目进行提问,怎么优化的。10.  看到时间了,然后反问,问了转语言的问题。 #金山办公# #金山办公面试#
查看16道真题和解析
点赞 评论 收藏
分享
2024-11-12 22:23
已编辑
门头沟学院 算法工程师
[OC]投递岗位:算法工程师(珠海)BG:双9,一段中厂实习研究方向:计算机视觉(一篇一作SCI在投)9.1 投递 —— 9.18 笔试 —— 10.16 一面 —— 10.22 二面 —— 11.4 HR面 —— 11.12 OC一面(1h):自我介绍提问传统视觉方法(Canny边缘提取、霍夫变换),简要介绍做法Coding:区间合并(讲述思路即可)实习介绍(20min),提问业务场景、方案特点和选取的原因、一些类似方法的对比提问CLIP(特点、训练过程)、扩散模型(实现方法、与其他生成式模型的区别)提问Python八股:迭代器和生成器,浅拷贝和深拷贝的区别提问C++八股:类的继承/派生、智能指针提问Transformer八股:基本结构、模型特点、自注意力的表达式(为什么要除以√dk)、BatchNorm和LayerNorm的做法和区别论文简要介绍(5min),提问基本概念反问:业务场景、工作时长、后续流程二面(40min):自我介绍实习详细介绍(25min),提问任务目标、应用场景、实现思路、方案局限性、方案跟基于大模型的方案的对比提问生成模型中融入条件的两种方式(拼接和交叉注意力)的特点、优缺点,为什么现在的模型大多采用交叉注意力进行条件的融合场景提问:给定包含大量(大于1000个)类别的图像数据,各类别图像数量充足,要求在一周之内训练出一个分类模型,使得各类别的准确度尽可能高,如何设计方案反问:AI相关的业务方向、部门业务、后续流程(各方向统一面试,之后沟通分配具体部门)HR面(25min):略#面经#
zzs114:金山361末位淘汰 每年优化10% 新人进去就是给老员工抗指标的
查看15道真题和解析
点赞 评论 收藏
分享
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客企业服务