招银网络C++面经

1. 哈夫曼树

2. 手撕建堆

3. 内存碎片


害怕。。。根本不是我想象中的国企


复盘面经 有些不是很确定,欢迎讨论!


40min 其实记得概念的话也不是太难,主要是有些真的不记得了tat


1. 哈夫曼树


哈夫曼树是带权路径长度最短二叉树,树的带权路径长度规定为所有叶子结点的带权路径长度之和。


算法:每次挑和最小的两个子树作为左右子树,他们的和作为根节点的值。


节点的特点:父节点为左右子节点的和


树的特点:值越大的叶子节点离根最近


找到最小的叶子节点:自己想了一个feasible的吧。。。:节点结构体加一个数据成员标记树的高度,递归找最高的树的叶子节点。


他是平衡树吗:不是


2. 内存碎片


什么是内存碎片:内存中小且不连续,因此不能使用的空闲空间


内存碎片的产生:内部碎片:分页机制导致的,因为只能分配固定大小的内存,四舍五入剩下的就是内部碎片,这些碎片已经分给了进程,只是没用;外部碎片:频繁的分配和回收物理内存造成的,未分配的内存块小且地址不连续,没办法分给其他进程,这些碎片没有分配给进程。


如何避免产生内存碎片:其实到最后也不太明白这个问题是什么意思,如果是操作系统层面可能是内存分配算法,将相邻的内存碎片连接起来;限制不同存储量内存块的数目之类的;在代码层面可能就是要用alloc分配内存么?也不太知道。。。


3. 堆排序


堆排序的算法是怎样的


实现一下


4. 如何拷贝内存


答了memcpy,感觉可能就是想问这个吧?然后问了memcpy需要注意什么:内存可能重叠


5. SQL


删除某一列中的重复数据




面试体验不太好。。都说了哈夫曼树的具体定义忘记了,也没有提示哈夫曼树到底是啥,还让继续撕哈夫曼树相关的代码。。。。


当时只记得哈夫曼编码那堆0101了,面试完了冷静了一下终于想起来哈夫曼树是什么了。。。


最后剩下几分钟让建个堆,脑子一乱。。。也没写完…

#招银网络##校招##C++工程师##面经#
全部评论
没有自我介绍,最后没有问问题的环节,指针问的贼深,一直让我写代码,还有让我手写堆排序???我说不会可以写快排么,他同意了。。。。
点赞 回复 分享
发布于 2020-03-17 20:32
我和你问的问题一摸一样。。。 同一个面试官无误 最后那个sql删除重复行我不会,他就结束了,让我等消息 唉
点赞 回复 分享
发布于 2020-03-17 16:20
招银本身就不是国企。。。
点赞 回复 分享
发布于 2020-03-17 11:14
这么可怕的吗
点赞 回复 分享
发布于 2020-03-17 10:29
玄学招银😃
点赞 回复 分享
发布于 2020-03-17 09:59

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
点赞 评论 收藏
分享
06-18 15:03
门头沟学院 Java
至少实习看起来比去年好?问了下群里的同学和身边的同学,人均有offer。有的还有好几个大厂offer
菜鸟1973:上一年暑期也是人均大厂实习offer,结果秋招跟不招人一样,大部分都转正了
点赞 评论 收藏
分享
评论
2
20
分享

创作者周榜

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