中望软件一面
Timeline
7.25投简历+笔试
7.26HR打电话约的今天7.28 15:00一面(HR说一共有三轮面试,一面技术面大概30min)
7.31感谢信
大概面了38min,我提前2min进的会议,面试官已经等着了,看我进来就直接开始了,一个严格的小哥哥,就在他工位面的,环境有点嘈杂。
1. 自我介绍
不是双控吗,学过C++吗,为什么报C++开发
2. 项目
a. 之前机械臂数学模型是什么,是串联结构吗(这可能是跟机械最相关的一个小项目,看我对机械部分不太了解,就没继续问了)
b. 有用C++做过什么项目吗,介绍了一个比赛,根据这个比赛问了几个问题,应该是判断是不是自己做的
3. 八股拷打,主要是C++、数据结构和算法
a. 介绍一下多态(我说了一下理解,并扯到了我准备过的虚函数,结果他没受到我的引导,问我多态的本质是什么??这不是C++面向对象的一个特性吗,我不知道本质是什么,他说这是个开放式问题,让我想想。。)
b. 除了虚函数,还能怎么实现多态(重载,继续追问了一下)
c. new和malloc区别(注意表达和用词准确,否则会被追问,我把我记起来的都说了一下,他追问如果内存分配失败会怎样)
d. 刚刚提到了堆和开放存储区,问我二者区别
e. 用过什么stl容器
f. map底层实现是什么,对于自定义类为key的时候,需要注意什么(应该是重载比较运算符,当时没想到)
g. map和unorder map的区别是什么
h. map查找时间复杂度,哈希碰撞、解决方法(说了一个链式的,问我链表查找时间复杂度,On岂不是影响性能,怎么优化)
好像还问了我好几个时间复杂度的问题。
问我项目中有涉及过多线程编程吗,我直接说没有学过,最近搞完论文自学一下。
4. 算法题 口述
给一个长度为n的int数组,里面的值范围为1-n,每个值出现1或2次,让我把所有出现两次的数字返回。
我说了unordermap的做法,他问我时间空间复杂度。他表示想要原地实现,不要额外开辟空间。我说那先排序再删除,他问我用什么排序算法,我说快排平均时间复杂度会好一些,他追问快排空间复杂度多少,我说logn,他说不要额外消耗空间,...
后面得知是力扣442原题,大家直接看题解去吧感觉自己像傻子
字数不够了,重新开了一个贴:(重开的贴说违规了,就离谱,不搞了)
7.25投简历+笔试
7.26HR打电话约的今天7.28 15:00一面(HR说一共有三轮面试,一面技术面大概30min)
7.31感谢信
大概面了38min,我提前2min进的会议,面试官已经等着了,看我进来就直接开始了,一个严格的小哥哥,就在他工位面的,环境有点嘈杂。
1. 自我介绍
不是双控吗,学过C++吗,为什么报C++开发
2. 项目
a. 之前机械臂数学模型是什么,是串联结构吗(这可能是跟机械最相关的一个小项目,看我对机械部分不太了解,就没继续问了)
b. 有用C++做过什么项目吗,介绍了一个比赛,根据这个比赛问了几个问题,应该是判断是不是自己做的
3. 八股拷打,主要是C++、数据结构和算法
a. 介绍一下多态(我说了一下理解,并扯到了我准备过的虚函数,结果他没受到我的引导,问我多态的本质是什么??这不是C++面向对象的一个特性吗,我不知道本质是什么,他说这是个开放式问题,让我想想。。)
b. 除了虚函数,还能怎么实现多态(重载,继续追问了一下)
c. new和malloc区别(注意表达和用词准确,否则会被追问,我把我记起来的都说了一下,他追问如果内存分配失败会怎样)
d. 刚刚提到了堆和开放存储区,问我二者区别
e. 用过什么stl容器
f. map底层实现是什么,对于自定义类为key的时候,需要注意什么(应该是重载比较运算符,当时没想到)
g. map和unorder map的区别是什么
h. map查找时间复杂度,哈希碰撞、解决方法(说了一个链式的,问我链表查找时间复杂度,On岂不是影响性能,怎么优化)
好像还问了我好几个时间复杂度的问题。
问我项目中有涉及过多线程编程吗,我直接说没有学过,最近搞完论文自学一下。
4. 算法题 口述
给一个长度为n的int数组,里面的值范围为1-n,每个值出现1或2次,让我把所有出现两次的数字返回。
我说了unordermap的做法,他问我时间空间复杂度。他表示想要原地实现,不要额外开辟空间。我说那先排序再删除,他问我用什么排序算法,我说快排平均时间复杂度会好一些,他追问快排空间复杂度多少,我说logn,他说不要额外消耗空间,...
后面得知是力扣442原题,大家直接看题解去吧感觉自己像傻子
字数不够了,重新开了一个贴:(重开的贴说违规了,就离谱,不搞了)
全部评论
顺带自己复习下~
a.多态本质:一个接口多种实现方式
b动态多态--继承+虚函数,静态多态--函数重载和模板
c.使用区别: new根据类型自动分配内存、malloc需要显式指定申请内存大小
内存区别: new自由存储区、malloc堆区
返回类型区别: new 对象类型指针、malloc void *需再强转
分配失败:new 需要异常捕获、malloc返回null
内存扩容:new 无扩张机制、malloc 通过realloc扩容
d. 开放存储包括堆
h. 哈希碰撞:开放定址、再哈希、链地址等
感觉这道题可以用置换的思维,让num[i]存放值为i+1的数字。遍历数组,如果num[i] == i+1,令i++查看下一个num[i]。如果num[i] != i+1,则看num[num[i] - 1]是否等于num[i],如果不同则两者交换,让num[i]到正确的位置,同时判断新的num[i] 是否等于 i+1,重复过程;如果num[num[i] - 1]等于num[i],则说明num[i]出现了两次,令i++查看下一个num[i]。
这样一趟下来,出现一次的数都到了正确的位置(值为i+1的数字回到了num[i])。再次遍历,其余num[i]!=i+1的数字就是出现两次的数字。这个方法时间复杂度为O(n),空间复杂度为O(1)。
@使用CPP 在这里
这个是提前批还是正式批?
m
感觉真的像拷打哈哈哈
有说啥时候出结果嘛
一模一样
你是什么时候投递的啊
我7.17号投的,笔试完没有动静
请教 中望这边哪个base好拿offer一点呀?怎么投比较好?
听说公积金和社保不高啊,不是按月工资交的。比如即使你2w月薪,也只给你交1w2的公积金和社保。
我也g了,跟我聊一个小时还以为有希望了
算法题只是口述不需要写吗
老哥base哪里的?
寄,我也7月25号笔试,现在也没收到面试
我也是,感觉是相同的小哥,问多态,hash,new和malloc,我当时真的是蒙了,从来没想到会问vector插入的时间复杂度😂,不过我推迟了一次面试,现在还没一周,应该这两天出结果,没啥希望,面的很差。
收到二面通知了嘛
手撕算法题:使用哈希表的话空间复杂度不满足要求,排序的话时间复杂度不满足要求,难顶
口述?算法题不用写吗
相关推荐
点赞 评论 收藏
分享