程序员面试笔试宝典学习记录

程序员面试笔试宝典学习记录

ID:21684535

大小:151.26 KB

页数:11页

时间:2018-10-23

程序员面试笔试宝典学习记录_第1页
程序员面试笔试宝典学习记录_第2页
程序员面试笔试宝典学习记录_第3页
程序员面试笔试宝典学习记录_第4页
程序员面试笔试宝典学习记录_第5页
资源描述:

《程序员面试笔试宝典学习记录》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、摘选著名的互联网企业的面试笔试真题:1.extern的作用自己理解:应该需要区分extern在C语言巾和C++语言中的作川,C语言巾extern声明的函数和变量可以被该文件外部模块引川,C++语言屮除了该作用还可以声明extern“C”声明一段代码编译连接的方法为C语言的方法。参考:其实extern的百度词条解释的很清楚,具体的也是跟我上面自己理解差别不是很大。(a)extern是C/C++语言中声明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量在本模块或其他模块中使用(通常,在模块的头文件屮对本模块提供给其它模块引用的函数和全局变量以关

2、键字extern声明。)(b)被extern“C”修饰的变量和函数是按照C语言的方式编译和链接的。(C语言不支持函数重载,所以函数的C++和C的编译方式不同,这一句的作用就是实现C++和C及其他语言混合编程)2.strstr()函数的作用strstr()函数的原型一般为externchar*strstr(constchar*src,constchar*dest),其作用就是寻找0标字符串在源字符串中第一次岀现的位置。3.windows线程优先级问题(进程和线程的区别和联系)我觉得这个概念可能面试、笔试的时候不是很适合,毕竞平台相关,大多数公司可能更多的倾向于linux开发

3、,这个M题更换为进程和线程的区别更好,这个是笔试,面试常见的知识考查。(a)通常一个进程可以包含若千个线程,它们可以利川进程所拥有的资源。进程是系统进行资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本不拥有系统资源,只拥有一些在运行中必不可少的资源(如程序计数器,一组寄存器和栈),线程可与同属于一个进程的其他线程共享进程所拥有的全部资源。线程和进程区别归纳:地址空间和其他资源:进程间互相独立,同一个进程的各线程共享。通信:进程间通信IPC,线程间可以直接读写进程序数据段(如全局变量)來进行

4、通信-需要进行同步和互斥的辅助。调度和切换:线程上下文切换比进程上下文切换快速,高效。多线程的OS中,进程不是一个可执行的实体。3.多方法交换x与y的值4.指针的自加与引用5.前置++与后置++前置++和后置++我觉得一个比较重要的问题是C++屮重载两个操作符的时候如何区别:区分前置和后置函数的参数有一个(函数重载),后置++有一个(int)参数。7.inline的作用inline函数不像正常函数在调用吋存在压栈和call的操作,它会把程序代码直接嵌入到调用代码段屮,也就是说使川inline函数会增大二进制程序的体积,但是会使执行速度加快。同时,编译期间可以对参数进行强类

5、型的检查,这是inline优于宏的•一个方面。8.二维数组的表示9.ifndef的作用条件编译的语法,一般情况下,源程序屮所有的行都参加编译。侃是有时希望对其屮一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有吋,希望当满足某条件吋对一组语句进行编译,而当条件不满足吋则编译另•一组语句。10.KMP算法字符串匹配的高级算法11.函数调用方式_cdecl_stdcall_fastcall他的压入堆栈内堆栈由调用者清除堆栈由被调用者清除堆栈由被调用者清除thiscall(非关键字)堆栈由被调用者清除参数从右至左的顺序压入堆找内参数从

6、右至左的顺序压入堆栈内部分参数保存在寄存器中,然后其参数压入堆栈内,this指针保存在ECX寄存器内11.重载函数函数重载是指在同一作川域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。不能利川返回类型进行重载!类中函数const和非const可以进行重载,其实原理是利用this指针的类型是const和非const进行重载,其实原理就是参数类型不同,const指针orconst引用调用的为const版本的函数〜更多函数重载的知识。12.构造函数和析构函数虚拟析构函数的使用场景是指向父类的指针实则为子类指针,调用delete的时候使用虚拟析构函数,

7、防止部分内存泄露。构造函数不能声明为虚拟函数,因为对象的虚拟函数表的指针其实是在构造函数内编译器添加完成的代码,所以在构造函数执行之前无法访M到虚拟函数表的。13.合并两个有序链表类似归并排序,两个指针归并即可。15.100亿条记录的文本文件,取出重复数最多的前10条类似topk算法,无法企部读入内存的topk算法是利用容量为k的最大堆,达到线性时间的topk算法。首先利用hashtable预处理每个元素出现的次数,然后利用次数执行topk算法。16.设计一个双向链表,并且提供一个可根据值删除元素的函数STL中的list底层及

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。