程序员面试常见问题
文章平均质量分 87
小笛子的专栏
这个作者很懒,什么都没留下…
展开
-
C++-const 总结
const 常类型,是C++中常用的类型修饰符。const可用于修饰变量,指针,引用,函数,类成员变量、成员函数、函数返回值。一、Const作用1.可以定义const常量;2.const常量具有数据类型,可以进行类型安全检查;3.保护被修饰的类型,防止被意外修改;4.方便参数修改,同宏定义一样,一变都变;5.为函数重载提供了一个参考;class A {原创 2017-04-26 11:23:45 · 224 阅读 · 0 评论 -
C++-类与结构体的区别
归纳:1.C++中struct可以包含构造函数、析构函数,可以继承、实现多态。2.struct是数据结构的实现体,class是类的实现体。3.struct的默认访问类型为public,class的默认访问类型为private.4.struct不用于定义模版参数,class可用于定义模版参数。转载 2017-04-11 10:30:57 · 335 阅读 · 0 评论 -
C++-malloc和new的区别与联系
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 void转载 2017-05-18 11:41:49 · 296 阅读 · 0 评论 -
网络-TCP、UDP
一. TCP协议 TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。 1.TCP头分析 先来分析一下TCP头的格式以及每一个字段的含义:(1)端口号[16bit] 我们知道,网络实现的是不同主机的进程间通信。在原创 2017-06-09 10:39:06 · 396 阅读 · 0 评论 -
网络-从输入网址到显示页面的过程
从我们在浏览器中输入网址到浏览器显示页面,这个过程中到底发生了什么事?一般可分为如下7个步骤:1、浏览器中输入网址。2、发送至DNS服务器并获得域名对应的WEB服务器的ip地址。 3、与WEB服务器建立TCP连接。4、浏览器向WEB服务器的ip地址发送相应的http请求。5、WEB服务器响应请求并返回指定URL的数据,或错误信息,如果设定重定向,则重定向到新的URL地址。转载 2017-06-11 11:03:59 · 996 阅读 · 0 评论 -
操作系统-进程间通信与线程间通信
操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。而线程间通信又和进程间的通信不同。由于进程的数据空间相对独立而线程是共享数据空间的,转载 2017-06-11 22:28:58 · 1710 阅读 · 0 评论 -
数据库-面试题-提高数据库处理查询速度的方法
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: selec转载 2017-08-22 17:50:33 · 568 阅读 · 0 评论 -
数据库-面试题-MySQL数据库的优化方法
1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务转载 2017-08-22 17:56:57 · 17962 阅读 · 2 评论