3.2 模拟面试

1,用new分配对象失败后有什么后果

答:如果调用失败的话会首先访问用户实现的 set_new_handle函数,一般该函数是去释放些无用的内存,然后再去尝试申请,然后反复调用该函数直到申请成功,主要还是看用户实现的函数怎么样

然后退出的话会抛出bad_alloc异常,异常会直接让程序崩溃,可以选择在 new (nothrow) 这样就不会抛出异常了,或者使用 try catch捕获异常

2访问一个私有成员函数 有什么方法

答:使用友元,友元类和友元函数都可以去访问类的私有属性,友元不可以被继承,友元一般少用,因为会破坏封装性

3 static修饰类成员 访问是如何访问的 必须实例化吗

答:不一定要实例化,因为static申明的变量在全局变量区,是类所有的,所有对象共有这个内存空间,所以可以直接通过类访问,也可以实例化区访问

4怎么样用两个队列实现一个栈

答:呃,不是我说,这个官方做法真滴蠢,就是把如果push的话就一直push进当前队列,如果要取当前的值,就只要把前面所有的都装进另一个队列,留下最后一个,然后pop就可以了

另一个问题就是两个栈实现一个队列,将一个栈实现出一个实现进,然后如果出的那个队列当前为空的话,那么将进队列的所有数都放入出队列中,然后进行操作,复杂度O(n)

5 vector底层是怎么实现的?

答:核心要点主要是vector所谓的动态数组怎么实现的,vector底层 有三个标志       元素起始位     元素末尾位     内存末尾位   ,如果元素满了容量的话,那么就会扩充内存容量,是之前的

两倍,要经历三个步骤,  重新构建内存,    把之前的值赋值过来       销毁之前的内存

6 哈希表怎么实现?哈希冲突解决办法

答:哈希表其实也就是一种映射关系,用哈希函数产生出一个值,然后去映射,哈希函数通常都是%的值,有开放地址法,链地址法,再哈希法等等

7 构造函数可不可以是虚函数?析构函数呢

答:构造函数不可以是虚函数,因为虚函数调用需要有虚函数指针,但是虚函数指针存在于具体对象中,产生对象需要构造函数,所以矛盾

析构函数可以是虚函数,一般用于多态,父类指针指向子类,如果调用析构,那么就会调用的其实是子类的析构函数,子类析构函数默认会调用父类析构函数达到一起释放内存,如果不是虚函数,那么只会

释放掉父类部分

 8 两个链表有公共交点,如何找到一个公共交点?

答:

第一种:类似快慢指针求入口的思想,p1,p2,指针同时移动,p1走完后从p2链表头开始走,p2走完后从p1链表头开始走,迟早会相遇,核心思想两个指针都走一个一样的路就会相遇

也就是第一个指针走的       A链表不重合部分+重合部分+B链表不重合部分,    第二个指针走的      B链表不重合部分+重合部分+A链表不重合部分

第二种:使用unorder_map  遍历第一个链表所有,保存地址,然后遍历第二个链表,如果出现了代表是当前位置

9,给定字符串 S,找出最长重复子串的长度

答:我想的做法是预处理出哈希,然后n2遍历所有区间,还没去写,没得到验证

网友说他们想的二分 和  DP做法

总结:总的来说今天,2,4没答出来,2的话emmmm,一时脑抽忘了,4,e没想到官方做法都这么蠢,答是答得上来,只是没想到正解就是这样

原文地址:https://www.cnblogs.com/Lis-/p/12399017.html

时间: 2024-10-22 18:41:24

3.2 模拟面试的相关文章

java模拟面试 试题

java 四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 Boolean(取值为 true false) 第四类:字符型 char & 与 运算符. | 或 是java中的位运算符,对二进制进行计算,两位都是1返回1,否则返回0. ^ 异或 是java中的位运算符,对二进制进行计算,两位不同返回1,否则返回0. == 可以用来比较引用类型(比较的是虚地址),也可以用来比较基本数据类型(比较的是二进制). 值得注

记模拟面试

今天万策组织了一次模拟面试,由黄工担任技术官,南希姐和范洁姐担任HR.总结一下,今天的模拟面试真的是一塌糊涂. 首先,一开始是自我介绍,因为没有准备好稿子,直接导致我说完名字,来自哪里,什么学校之后不知道说什么,匆匆说了一些自己会的技术加上自己自学的python之后就不知道说什么了,毫无亮点可言.这下就知道了提前准备的好处,这还没有什么,至少自我介绍我还可以从容的说出来,自我介绍后面的技术面试才是糟糕透顶.首先问了关于集合的理解,自己只是回答了collection这个父类,然后将collecti

方方前端模拟面试

1.学习前端看了那些书 怎么学习的 2.ES6 简单的语法let和const 怎么用 -块级作用域 3.提到闭包-闭包是什么 闭包的作用  如果不return函数 是不是个闭包 闭包-不会被垃圾回收? 什么东西会被垃圾回收 - 标记清除算法 除了这个还有啥 一般前端不问垃圾回收,提到了就问一嘴 4.React 和Vue的区别 JSX 模板语法 使用的原理有什么不一样 - Vue的核心是什么 React最重要的API是什么 Vue 数据响应式 5.反应快 怎么显得反应快 ① 电话面试立即回应 嗯

3.5 模拟面试

1.如何判断链表为环 答:有两种方法 1,快慢指针:一个一步走,一个两步走,如果快指针遇到NULL代表无环,快慢相遇代表有环 2,哈希:用哈希记录之前的节点,然后判断当前节点是否在之前出现过 2.蓄水池抽样原理 答:不会,明天补上>_< 3..C中static的作用? 答:1,隐藏:如果全局变量定义的话,作用域是所有源文件,但是如果static修饰后,作用域就是在当前源文件中使用  2,局部持久化:如果在函数里面定义使用的话,能保持之前的值 4.满二叉树是什么,如何在二叉排序树中找到第三大节点

3. 23 模拟面试

C++ 父类析构函数为什么必需是虚函数 答:首先要知道的一个知识就是,调用子类构造函数会调用父类构造,调用子类析构会调用父类析构,然后在多态的场景如果一个父类指针指向一个子类造成上行转换,这个时候delete掉这个父类指针,只会调用父类析构而无法析构掉子类的部分,而如果是虚函数的话,那么调用的实际上子类的析构函数,然后会在里面调用父类的析构,就可以实现内存空间全部释放 用过ping吗, 是什么协议 答:ICMP协议,处于网络层 ICMP是一种配合IP的一种协议,报文经常在传输的时候会遇到各种问题

Web前端面试指导(二):编写简历,吃透简历内容

2.1 简历模板(仅供参考,不得千篇一律) ~~~~~~温馨提示~~~~~~简历模板文件在QQ群 490916635  2.2 吃透简历内容 2.2.1 吃透自己的简历 简历出现的名词术语要非常熟悉 简历出现的技术要熟练应用,不能熟练的死记硬背也要记下 对于项目要非常熟悉,非常清楚自己所负责的模块 对自己的学历.阅历要非常清楚,特别是那些虚构的,更要下功夫. 2.2.2  项目经验修 Web前端项目经验一般要求在2~3年 项目个数不能少于3个,最好在3~4个之间,也不要太多. 2.2.3 进行模

Android面试技巧 找安卓开发工作同学可以看看!

马上就要学完安卓毕业了,最近总想写点什么.今天把自己这段时间的学习心得以及面试时的经验分享给大家: 关于我为什么选择学习安卓并且来华清远见学习,说来话长,但是我要长话短说!首先我以前的实习工作工资太低,也没有太大的发展前途,特别想找个有前景的工作,我有同学是做软件开发的,月工资都能达到六七千,本人甚是羡慕,一次偶然的机会,和朋友聊天,听说他在华清学嵌入式,老师教的挺好的,他说那也教手机软件的东西,我就在网上搜索了下!很容易就搜到了,看来是公司的名声的确是非常响亮,我想问问题,就跟客服进行交流,我

40 个重要的 HTML5 面试问题及答案

目录 介绍 Canvas和SVG图形之间的区别是什么? 如何使用Canvas和SVG绘制矩形? 什么是CSS选择器? 如何使用ID值应用CSS样式? CSS的列布局有什么用? 请解释一下CSS盒子模型? 请解释CSS 3中的一些文字效果? 什么是web worker,为什么我们需要他们web worker? 如何添加和删除本地存储中的数据? 什么是本地存储的有效期? 本地存储和cookie之间的区别是什么? 会话存储和本地存储之间的区别是什么? 什么是WebSQL? WebSQL是HTML 5规

一次java面试经历分享

首先呢,肯定是要感谢IT面试网提供的这次模拟面试的机会,也很荣幸能够参加这次模拟面试,真的是机会难得呀!对于我这种Java的小菜菜来说,这无疑是一次很好的经历吧,也为自己在即将来临的毕业之际(现在大三)指明了道路吧,至少通过这次我知道了,在出去找工作的时候我需要准备哪些东西,我要具备什么样的专业知识吧! 言归正传吧!还是说说自己的这次模拟面试的感受吧!我面的是Java 技术方向的,之前和IT面试团队的人预约好了时间,早上10:30左右,所以呢,一大早就去找了个空教室准备视频面试来着,本来以为周天