3.5 模拟面试

1.如何判断链表为环

答:有两种方法

   1,快慢指针:一个一步走,一个两步走,如果快指针遇到NULL代表无环,快慢相遇代表有环

  2,哈希:用哈希记录之前的节点,然后判断当前节点是否在之前出现过

2.蓄水池抽样原理

 答:不会,明天补上>_<

3..C中static的作用?

答:1,隐藏:如果全局变量定义的话,作用域是所有源文件,但是如果static修饰后,作用域就是在当前源文件中使用

   2,局部持久化:如果在函数里面定义使用的话,能保持之前的值

4.满二叉树是什么,如何在二叉排序树中找到第三大节点

答:就是除了叶子节点,每个节点都有左右孩子        使用中序遍历能够从小到大的遍历二叉排序树

5.extern关键字用法

答:多个源文件做到一次定义,多次申明        extern "C"    代表接下来的代码使用C环境编译

6.stl vector push_back() 的复杂度?扩容机制?为什么要 2 倍扩容?

答:均摊复杂度是O(1)  ,vector底层有三个指针,代表开始 ,结尾 ,容量结尾,如果到达容量,那么就需要扩容,一般是1.5倍或者2倍,2倍原因的话做不到均摊O(1)     (不懂为啥2倍就做不到。明天看下

  拓展:1.5倍比2倍好在哪里,因为如果2倍扩容的话,考虑连续申请的内存空间    1 2 4 8 16 32,因为申请内存在删除内存之前,所以当前内存得不到复用,只能依靠之前的内存,但是2倍之前的内存永远达不到我要申请的大小,所以达不到复用的目的,但是1.5倍可以

7.详细讲解static成员变量和static成员函数

答:static成员变量是类所有的,所有对象共同使用,必须要类外初始化,这里引入ml大猛男说的话(因为static修饰的变量是存在全局变量区的,内存上不属于类,所以内存申请的话必须要在类外定义,类内申明)   static函数只能使用static变量,并且static函数因为是类所有的,所以没有对象的this指针

8.介绍一下野指针

答:没有初始化的指针 和   删除迭代器删除指向内存的指针并且没有赋值回NULL    (野指针也叫悬空指针

9.一篇英文文章,求统计出现频率最高的k个单词

答:先用hash分治 把这些因为单词分割成多个小文件,然后依次对多个小文件求出前K大,然后再将多个小文件合并起来,合并过程可以使用堆

  字典树,先便利所有单词建立字典树,然后遍历字典树所有节点建立一个最小堆

10.strcpy的安全性

答:strcpy 安全性差,如果目标内存空间没有源长的话就会产生缓冲区溢出,并且源和目标的内存不能重叠,
    strncpy是对strcpy的安全性问题提出的新的,然后memmove可以解决内存重叠问题

总结:总的来说今天的题都能回答上来,蓄水池不会>_< ,今天把几个小细节不懂的地方都和牛逼网友们讨论出来,非常爽,冲冲chong

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

时间: 2024-08-01 04:44:03

3.5 模拟面试的相关文章

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.2 模拟面试

1,用new分配对象失败后有什么后果 答:如果调用失败的话会首先访问用户实现的 set_new_handle函数,一般该函数是去释放些无用的内存,然后再去尝试申请,然后反复调用该函数直到申请成功,主要还是看用户实现的函数怎么样 然后退出的话会抛出bad_alloc异常,异常会直接让程序崩溃,可以选择在 new (nothrow) 这样就不会抛出异常了,或者使用 try catch捕获异常 2访问一个私有成员函数 有什么方法 答:使用友元,友元类和友元函数都可以去访问类的私有属性,友元不可以被继承

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左右,所以呢,一大早就去找了个空教室准备视频面试来着,本来以为周天