
面试
文章平均质量分 75
LceChan
这个作者很懒,什么都没留下…
展开
-
两个线程分别顺序输出1-200之内的素数和合数
#include <iostream>#include <chrono>#include <thread>#include <mutex>#ifndef TEST_MAX_NUMBER#define TEST_MAX_NUMBER 200#endif // !TEST_MAX_NUMBERusing namespace std;int number = 1;mutex g_lock;bool IsPrimeNumber(const.原创 2021-10-03 23:40:51 · 242 阅读 · 0 评论 -
PE文件结构详解
我们大家都知道,在Windows 9x、NT、2000下,所有的可执行文件都是基于Microsoft设计的一种新的文件格式Portable Executable File Format(可移植的执行体),即PE格式。有一些时候,我们需要对这些可执行文件进行修改,下面文字试图详细的描述PE文件的格式及对PE格式文件的 修改。PE文件框架构成DOS MZ headerDOS Stu原创 2014-03-12 00:51:28 · 1085 阅读 · 0 评论 -
strstr函数的自己实现
请用标准C语言实现下列标准库函数,设计中不得使用其他库函数。char *strstr(char *str1,char *str2);在字符串str1中,寻找字串str2,若找到返回找到的位置,否则返回NULL。[cpp] view plaincopy#include #include using namespace s原创 2014-03-12 23:10:25 · 801 阅读 · 0 评论 -
stdcall详解
对_stdcall 的理解在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎原创 2014-03-12 00:50:17 · 830 阅读 · 0 评论 -
cdecl、stdcall、fastcall函数调用约定区别
论函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保转载 2014-03-16 09:36:45 · 603 阅读 · 0 评论 -
数据库的四个特性(ACID)
ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity)、一致性 (Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。在数据库系统中,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据 库操作的总和构成一个完整的逻辑过程,不可拆转载 2014-03-16 10:26:07 · 1483 阅读 · 0 评论 -
B树、B-树、B+树、B*树 红黑树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关转载 2014-03-17 23:48:44 · 771 阅读 · 0 评论 -
构造函数中调用虚函数?
在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() { foo(); this->foo(); } virtual foo() { cout }};struct C190 : public转载 2014-03-17 23:50:16 · 884 阅读 · 0 评论 -
单链表查找倒数第k个节点
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此我们需要打开我们的思路。既然不能从尾结点开始遍历这个链表,我们还是把思路回到头结点上来。假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1...原创 2014-03-18 23:24:24 · 1921 阅读 · 0 评论 -
memmove和memcpy
1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和源区域有重原创 2014-03-19 23:49:03 · 693 阅读 · 0 评论 -
如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)
A. 为什么要在Linux使用Eclipse开发C/C++程序? Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。这种开发方式生产力并不高,转载 2014-03-27 01:02:58 · 706 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Pro转载 2014-02-28 00:21:15 · 626 阅读 · 0 评论 -
exit()和_exit()
(1)正常终止: (a)在main函数内执行return语句。这等效于调用exit。 (b)调用exit函数 (c)调用_exit系统调用函数(2)异常终止: (a)调用abort。它产生SIGABRT信号,所以是一种异常终止的一种特列。 (b)当进程接收到某个信号时。例如,进程越出其地址空间访问存储单元,或者除以0,内核就会为该进程产转载 2014-01-14 22:16:40 · 871 阅读 · 0 评论 -
C#与C/C++的交互
转自:http://www.cnblogs.com/warensoft/archive/2011/12/09/Warenosoft3D.html最近在编写Warensoft3D游戏引擎,并预计明年年初发布测试版本,底层引擎使用DirectX和MONO来编写,上层的逻辑使用C#来编写,因此编写了大量C#与C++互调的代码,现在经验写出来与大家分享,并希望后来者少走弯路。C#与C+转载 2013-10-21 23:44:06 · 842 阅读 · 0 评论 -
【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
各位程序猿: 《剑指Offer》一书源自该书作者何海涛坚持更新与编写的博客(http://zhedahht.blog.163.com/),该博客收集整理了大量如微软、Google等知名IT企业的经典面试题。《剑指Offer》一书在此基础上选取了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点,难度适中,讲解清晰,转载 2013-09-05 22:58:30 · 886 阅读 · 0 评论 -
百度最新面试题集锦
1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7) = 4,可以证明最少需要4次运算n = 7n-1 6n/2 3n-1 2n/2 1要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思转载 2013-09-05 23:01:10 · 680 阅读 · 0 评论 -
阿里巴巴笔试题
1、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7 B、8 C、9 D、102、设有一转载 2013-09-05 23:04:25 · 753 阅读 · 0 评论 -
C++经典面试题
1、int a=5,则 ++(a++)的值是()A、5 B、 6 C、7 D、逻辑错误a++返回的是一个临时变量,这里是右值,不能再前面++了2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高)[cpp] view plaincopyint main(void) {原创 2013-09-05 23:07:28 · 717 阅读 · 0 评论 -
百度2012实习生校园招聘笔试题
1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字转载 2013-09-05 23:11:32 · 662 阅读 · 0 评论 -
[HR面试] 65个最常见的面试问题与技巧性答复
1、请你自我介绍一下你自己?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回转载 2013-10-04 10:30:49 · 1198 阅读 · 0 评论 -
求数组中唯一重复的元素
求数组中唯一重复的元素在网上看到一个这样的题: 一个数组中含有1001个元素,存放了1,2,3...1000和一个重复的数。只有唯一一个数是重复的,其它均只出现一次。要求设计一个算法找出这个重复的数,要求:每个数组元素只能访问一次,不用辅助存储空间。解法一:最简单的方法是,先求出1...1000的和(用公式:n(n+1)/2)sum1,然后求出arr转载 2013-09-19 00:10:27 · 772 阅读 · 0 评论 -
查找数组中第二大或者第二小的数值
从一个给定的、无序的数组中,找出第二大或者第二小的数值。[cpp] view plaincopy#include int FindSecondBiggest(int *v, int len) { if (v == NULL || len return 0xfffffff;原创 2013-10-13 19:24:39 · 1900 阅读 · 0 评论 -
C#托管代码与C++非托管代码互相调用
在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能反编译。这样一来,就涉及C#托管代码与C++非托管代码互相调用,于是调查了一些资料,顺便与大家分享一下:源代码下载一. C# 中静态调用C++动态链接 1. 建立VC工转载 2013-10-15 20:59:32 · 719 阅读 · 0 评论 -
C# 调用c++ 实例
今天写了个RFID的封装类,主要实现c#调用c++中的函数。如果大家有需要,可以当个参考: 接口文档如下: c++中的Struct 如下: 123456789101112131415typedef转载 2013-10-20 13:14:15 · 782 阅读 · 0 评论 -
C#调用C++方法,C#使用c++方法返回类或结构体
C#调用C++方法,C#使用c++方法返回类或结构体。1. 在c++中定义结构体,类,处理方法;要给c#调用的方法要加extern "C" __declspec(dllexport) 修饰// CppDll.cpp : Defines the exported functions for the DLL application./转载 2013-10-20 14:04:43 · 1016 阅读 · 0 评论 -
在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)
背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导你快速理解这个调用的过程。 步骤1. 创建一个CSharpInvokeCPP的解决方案: 2. 创建一个C++的动态库项目: 3. 在应用程序设置中,选择“DLL”,其转载 2013-10-21 20:17:01 · 778 阅读 · 0 评论 -
2013届华为校园招聘机试题
笔试题目(机试,共两题) 题目一:子串分离 题目描述: 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果输入“abc def gh i d”,结果将是abc,def,gh,i,d, 要求实现函数: void Divide转载 2013-09-05 22:54:47 · 728 阅读 · 0 评论