笔试面试

C++静态关联和动态关联

静态关联 函数重载和通过对象名调用的虚函数,在编译时即可确定其调用的是具体的哪一个函数,其过程称为静态关联,由于是在运行前关联的,所以又叫早期关联。 关于函数重载调用在编译时就可以确定我们不难理解...

【笔试面试】strcpy函数的实现要点

这是一道相当经典的笔试面试题目,有好几个注意点,所以特地mark一下。 已知strcpy函数的原型是: [crayon-5b04d6f40bf64938383146/] 实现strcpy函数 解释为什么要返回char * 假如考虑dst和src内存重叠的情况...

【面试题】1到1000有多少个7?

考官直接问,1到1000到多少个7? 要求,不编程,直接给出答案,并简单给出思路。 ————————第一种思路—————————— 首先应该有个合理的归类,我一开始就想到了一个合理的分类法,即 1到1000,每个数都看作3位数,而...

C++中的重载、覆盖、隐藏?

首先说说概念上的区别 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 重写(覆盖):是指子类重新定义父类虚函数的方法。这里有个需要注...

详解下C/C++中结构和联合

区别 Struct与Union主要有以下区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存...

100亿个数取出最大的10000个

题目:100亿个整数,求最大的1万个数,并说出算法的时间复杂度   思路: 如果把100亿个数全部读入内存,需要100 0000 0000 * 4B 大约40G的内存,这显然是不现实的。我们可以在内存中维护一个大小为10000的最小...

笔试面试题–反转字符串中的单词

写一个函数,将字符串翻转,翻转方式如下:“I am a student”反转成“student a am I”,不借助任何库函数。 思路: 先对整个字符进行反转,然后查找空格,再对用空格分割开的单词进行单词内的反转,然后就可以得到...

二分查找的递归和非递归实现

如果面试题要求在已排序的数组(或者部分排序的数组)中查找一个数字或者统计某个数字出现的次数,我们都可以考虑尝试二分查找算法。 二分查找的递归实现代码: [crayon-5b04d6f40d878937465502/] 二分查找的...

const和static的作用的总结

static和const关键字的作用可以从两个方面回答:1、和类的成员函数或者成员遍历相关;2、不属于类的函数或者变量。 const关键字的作用 1、想要阻止一个变量被改变,可以用const关键字。但是这种阻止是在编译时...