程序员面试题精选100题.doc
程序员面试题精选100题(全).doc 网上大多数版本不全只有20多道,这个版本有60道题,也不是最全的。有最全的还希望拿出来分享一下。大部分题我都自己实现过,放在了博客上,欢迎一起讨论学习!
google_c++编程风格指南
Google 的项目大多使用 C++开収。每一个 C++程序员也都知道,C++具有徆多强大的诧言特性,但返
种强大丌可避免的导致它的复杂,而复杂性会使得代码更容易出现 bug、难亍阅诺和维护。
本挃南的目的是通过详绅阐述如何迕行 C++编码来觃避其复杂性,使得代码在有效使用 C++诧言特性的
同时迓易亍管理。
使代码易亍管理的方法乊一是增强代码一致性,让别人可以诺懂你的代码是徆重要的,保持统一编程风格
意味着可以轱松根据“模式匹配”觃则推断各种符号的吨义。创建通用的、必需的习惯用诧和模式可以使
代码更加容易理解,在某些情冴下改发一些编程风格可能会是好的选择,但我们迓是应该遵循一致性原则,
尽量丌返样去做。
本挃南的另一个观点是 C++特性的臃肿。C++是一门包吨大量高级特性的巨型诧言,某些情冴下,我们会
限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,挃南中列丼了返类特性,幵解释说为
什么返些特性是被限制使用的。
C语言内存分配详解
1、C中内存分为四个区
栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。
堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。
全局区:用来存放全局变量和静态变量。存在于程序的整个运行期间,是由编译器分配和释放的。
文字常量区:例如char *c = “123456”;则”123456”为文字常量,存放于文字常量区。也由编译器控制分配和释放。
程序代码区:用来存放程序的二进制代码。
自动发送接受邮件程序
自动发送 自动接收 经过一个月测试,采用18个邮箱,不会被判垃圾邮件
改进的归并排序算法
改进的归并排序算法,两种方式 1 是不回写, 2是 非递归
最小生成树的c实现
最小生成树的c实现最小生成树的c实现最小生成树的c实现最小生成树的c实现最小生成树的c实现
各种排序算法的c实现
各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法各种排序算法
红黑树算法的c实现
红黑树红黑树红黑树红黑树红黑树红黑树红黑树红黑树红黑树红黑树红黑树