
Written_Interview
文章平均质量分 52
小尼人00
人生一直在不断的探索中,才知道一些东西的真正含义,为了在探索的路途中少走弯路,早日达到心中的愿景,我认为没有什么比开阔眼界更重要的了。
展开
-
[面试] static的含义以及其在C/C++中的区别
static关键字是C, C++中都存在的关键字. 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同,本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种 auto,转载 2013-02-04 10:21:36 · 1759 阅读 · 0 评论 -
[面试] 各大IT公司校园招聘程序猿笔试、面试题集锦
百度一面1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。2、socket过程就是socket的server和client整个流程写下来,这个还是没啥问题的。3、数据结构二叉树的遍历,给了个二叉树,前序、中序、后序写出来,这个没什么难度。http:转载 2013-03-06 12:27:29 · 1124 阅读 · 0 评论 -
[面试] Overload和Override的区别
Overload:顾名思义,就是Over(重新)——load(加载),所以中文名称是重载。它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。Override:就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相转载 2013-03-06 14:58:05 · 901 阅读 · 0 评论 -
[面试] 八皇后的一位数组递归写法。第五次写了!难道还会忘么?
八皇后 : 的递归写法。用一维数组。没什么说的。。挺 easy~ 的。还有其他方法,以后再尝试吧!#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2013-01-28 17:30:16 · 718 阅读 · 0 评论 -
面试题03 - 重建二叉树 【树】[ 一定要记住 ]
题目 : 根据前序和中序还原二叉树 1 / \ 2 3 / / \ 4 5 6 \ / 7 8#include #include #include #include #include #include #include #原创 2013-01-20 10:22:13 · 548 阅读 · 0 评论 -
[面试] C++中的static关键字 (static 上镜率非常高!)
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:[cpp] view转载 2013-03-07 18:55:57 · 893 阅读 · 0 评论 -
[面试tx] 根据上排给出十个数,在其下排填出对应的十个数
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】举一个例子, 数值: 0,1,2,3,4,5,6,7,8,9 分配: 6,2,1,0,0,0,1,0,0,0 0在下排出现了6次,1在下排出现了2次, 2在转载 2013-03-07 18:06:55 · 722 阅读 · 0 评论 -
[面试] 链表的归并排序 (非常好的题目 tx)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-03-08 16:18:27 · 1044 阅读 · 0 评论 -
[Linux] Linux查看端口使用状态、关闭端口方法
前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1. 可以通过"netstat -anp" 来查看哪些端口被打开。(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, f转载 2013-03-08 11:59:54 · 1074 阅读 · 0 评论 -
[面试] [反转链表] 三变量提头法
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-01-25 21:58:32 · 610 阅读 · 0 评论 -
面试题09 从二叉树的深度扩展到判断是否是二叉平衡树 【树】 Dserving thinking
判断二叉树是否是平衡二叉树,二叉树深度#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2013-01-21 20:32:48 · 492 阅读 · 0 评论 -
面试题08 - 二叉树的深度 【树】
题目:输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如:输入二叉树: 10 / \原创 2013-01-21 14:00:49 · 558 阅读 · 0 评论 -
[算法] 输出 字符串的全部子组合 [dfs - 递归神技]
给定一个字符串S,其中S中的字符互不相同,输出S中字符的所有组合,如S = "abc", 则输出:空,a, b, c, ab, ac, bc, abc,#include #include #include #include #include using namespace std;const int N = 1005;void dfs(char *arr, int id,原创 2013-02-05 16:35:21 · 1354 阅读 · 0 评论 -
面试题05 - 树的子结构 [树]
先序dfs + 子判断#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-01-20 19:00:01 · 500 阅读 · 0 评论 -
面试题06 - 判断二叉树后序遍历的结果 [树]
人理解迭代,神请你来理解递归! 同样的道理 : 大问题拆成小问题,小问题再继续拆,最后一个出口然后全部解决,出口正是最小的子问题的边界处理!#include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-01-20 22:20:07 · 551 阅读 · 0 评论 -
面试题10 - 二叉搜索树与双向链表 [ 树 ] [Very good!]
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。比如输入下图中左边二叉搜索树,则输出转换后的排序双向链表。 10 / \ 6 14 / \ / \ 4 8 12 164=6=8=10=12=14=16将二叉搜索树转化为有序双向链表,类似于中序遍历,中序遍历的结果就是一个排序的原创 2013-01-21 20:54:34 · 467 阅读 · 0 评论 -
[linux] 进程间通讯的几种方式
linux进程间通信(IPC)有几种方式,下面将将简单的简述一下: 一。管道(pipe) 管道是Linux支持的最初IPC方式,管道可分为无名管道,有名管道等。 (一)无名管道,它具有几个特点: 1) 管道是半双工的,只能支持数据的单向流动;两进程间需要通信时需要建立起两个管道; 2) 无名管道使用pipe()函数创建,只能用于父子进程或者兄弟进程之间; 3原创 2013-02-07 16:10:41 · 634 阅读 · 0 评论 -
[算法] 带有条件的全排列 [dfs + set]
由于排列的问题能够很好的考查对递归的掌握程度,并且实现也非常的简单,因此经常会出现在面试之中。下面就是某著名互联网公司的一道关于排列的面试题:题目:输入一个字符串S和一个整数N,其中S中的各个字符均不相等,并且N小于等于S的长度,请输出由S中字符组成的长度为N的所有的排列。如:字符串是"abc", N=2, 则输出:ab, ac, bc, ba, ca, cb#include #原创 2013-02-06 12:50:04 · 937 阅读 · 0 评论 -
[面试] 在数组查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
在数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。分析:最原始的方法是检查每一个数 array[i] ,看是否左边的数都小于等于它,右边的数都大于等于它。这样做的话,要找出所有这样的数,时间复杂度为O(N^2)。其实可以有更简单的方法,我们使用额外数组,比如rightMin[],来帮我们记录原始数组array[i]右边(包括自己)的最小值。假如原始数组为: a原创 2013-02-07 11:08:27 · 952 阅读 · 0 评论 -
[算法] 字符串的全排列 [dfs - 递归神技]
字符串的全排列,递归交换#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2013-02-06 11:15:06 · 1131 阅读 · 0 评论 -
[面试] 判断一棵树是否为完全二叉树
问题:判断二叉树是否为完全二叉树。完全二叉树的定义是,前n-1层都是满的,第n层如有空缺,则是缺在右边,即第n层的最右边的节点,它的左边是满的,右边是空的。以3层二叉树为例,以下情况为完全二叉树: [方法一]这个问题的描述已经提示了解法,采用广度优先遍历,从根节点开始,入队列,如果队列不为空,循环。遇到第一个没有左儿子或者右儿子的节点,设置标志位,如果之后再原创 2013-02-07 12:35:18 · 822 阅读 · 0 评论 -
[面试] 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配 (Very Good! tx)
当我们规定类只能在堆上分配内存时,就可以将析构函数声明为私有的。如果在栈上分配空间,类在离开作用域时会调用析构函数释放空间,此时无法调用私有的析构函数。如果在堆上分配空间,只有在delete时才会调用析构函数。可以添加一个destroy()函数来释放,从而解决不能在析构函数中添加delete的问题。/**//HeapOnly.cpp#include using n原创 2013-03-08 16:58:00 · 1015 阅读 · 0 评论 -
[面试] 帝都的传说2 - 自我整理!
面试题01 求子数组的最大和(数组) easy!面试题02 判断俩个链表是否相交面试题03 C++中的static关键字 (static 上镜率非常高!)面试题04 根据上排给出十个数,在其下排填出对应的十个数 [动脑题吧算是!]面试题05 链表的归并排序面试题06 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配(比较难)面试题07 请编写实现malloc()内存分配原创 2013-03-08 14:52:44 · 922 阅读 · 0 评论 -
JAVA中String与StringBuffer 、StringBuilder的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。转载 2014-07-26 13:44:19 · 785 阅读 · 0 评论 -
在对文件进行随机读写,RandomAccessFile类,如果提高其效率
JAVA的文件随机存取类(RandomAccessFile)的I/O效率较低。通过分析其中原因,提出解决方案。逐步展示如何创建具备缓存读写能力的文件随机存取类,并进行了优化。通过与其它文件访问类的性能对比,证明了其实用价值。主体:目前最流行的J2SDK版本是1.3系列。使用该版本的开发人员需文件随机存取,就得使用RandomAccessFile类。其I/O性能较之其它常用开发语转载 2014-07-26 13:54:07 · 5654 阅读 · 0 评论 -
java多线程 sleep()和wait()的区别
接触了一些多线程的东西,还是从java入手吧。相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了。这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll.区别一:sleep是Thread类的方法,是线程用来 控制自身流程的,比如有一个要报时的线程,每一秒中转载 2014-07-26 13:59:27 · 735 阅读 · 0 评论 -
Java线程中sleep和wait的区别详细介绍
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()转载 2014-07-26 14:02:39 · 742 阅读 · 0 评论 -
java5中的集合类 ---- Map
java5的java.util包提供了大量集合类。其中最常用的集合类有List、Set、Map等。这篇文章主要介绍其中的Map。首先,来看下java.util包中Map相关的集合类的类图(见附件中图1)。接口Map是整个类图的跟,Map往下又提供了两个接口:ConcurrentMap和SortedMap。ConcurrentMap是java5中新增的线程安全的Map接口;而SortedMa转载 2014-07-26 14:06:16 · 680 阅读 · 0 评论 -
深入浅出 Java Concurrency (16): 并发容器 part 1 ConcurrentMap (1)
从这一节开始正式进入并发容器的部分,来看看JDK 6带来了哪些并发容器。在JDK 1.4以下只有Vector和Hashtable是线程安全的集合(也称并发容器,Collections.synchronized*系列也可以看作是线程安全的实现)。从JDK 5开始增加了线程安全的Map接口ConcurrentMap和线程安全的队列BlockingQueue(尽管Queue也是同时期引入的新的集转载 2014-07-26 14:08:04 · 1133 阅读 · 0 评论 -
Java的随机读写文件-RandomAccessFile 与内存映射
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和 DataOutput转载 2014-07-26 13:59:42 · 2510 阅读 · 0 评论 -
校招9月份找工作的童鞋进
说明:虽说题目是二面准备,其实更多的是我一面是所考到的知识。不管几面吧,反正都是有用且常考的知识。简述TCP协议在数据传输过程中收发双方是如何保证数据包的可靠性的答:(1)为了保证数据包的可靠传递,发送方必须把已发送的数据包保留在缓冲区;(2)并为每个已发送的数据包启动一个超时定时器;(3)如在定时器超时之前收到了对方发来的应答信息(可能是对本包的应答,也可以是对本包后续包转载 2014-10-04 14:07:22 · 755 阅读 · 0 评论 -
atoi 的实现
#include #include #include #include using namespace std;long long strToIntCore(const char *str, int sign);bool g_flag;int sign;int strToInt(const char *str) { g_flag = false; long long num原创 2013-03-21 20:34:47 · 1080 阅读 · 0 评论 -
java的List接口的实现类 ArrayList,LinkedList,Vector 的区别
Java的List接口有3个实现类,分别是ArrayList、LinkedList、Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复。3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已转载 2014-07-26 13:19:34 · 773 阅读 · 0 评论 -
阿里负责人揭秘面试潜规则
最近负责了公司招聘,发现校园招聘这种事情,真是一个奇葩的工作。能做好校园招聘的人,一定是一个矛盾体。这个人一定是思维缜密,因为流程在这里特别重要,宣讲会、笔试、面试,需要不能出乱子;这个人还需要有创新意识,做好了宣讲会、笔试面试,也就是中规中矩,没啥特色,如果不弄点有新意的东东出来,也很难找到最优秀的人才。有人说,这个不矛盾啊。看上去不矛盾,实际上挺矛盾的。因为如果这个人思维缜密,转载 2014-06-02 22:56:35 · 627 阅读 · 0 评论 -
[面试] 每个飞机只有一个油箱, 飞机之间可以相互加油
已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从共5架飞机 1,2,3,4,51,2,3号飞机从起点A起飞逆时针飞到全程8分之1加油点D,3号机为其他两架加满油返航。1,2号继续飞到全程4分之1加油点B,2号机为1号机加转载 2013-03-08 20:35:40 · 5172 阅读 · 0 评论 -
[面试] - 常见重写字符串库函数的面试题 - “一网打尽”
传说常见的一个笔试题:不使用中间变量求const字符串长度。函数接口声明如下:int strlen(const char *p);思路分析:在字符串中通常可以利用最后一个结束符’\0’,但此处参数为const,只读,那么我们不能打他的主意。函数运行过程中不占用内存基本不可能,除非都使用了寄存器。“不使用中间变量”只是说程序员不能显示的申请内存而已,即不能有局部变量或者动态内存申请。原创 2013-01-27 17:52:28 · 744 阅读 · 0 评论 -
[面试] 写出 string 类的构造,析构,复制构造函数,复制操作符!
#include // 。。。#define BUG puts("here!!!");using namespace std;class String {private : char *m_data;public : String(const char *str = NULL); // 构造函数 String(const String &other); // 拷贝构造函数原创 2013-03-10 20:59:21 · 830 阅读 · 0 评论 -
第7集 构造函数中抛出的异常
上一篇文章简单讨论了一下对象的成员函数抛出异常时的处理情况。本文中将继续讨论当在构造函数中抛出异常时,程序的执行情况又如何?这有点复杂呀!而且主人公阿愚还觉得这蛮有点意思!http://se.csai.cn/ExpertEyes/200801031103481314.htm 构造函数中抛出的异常 1、标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,转载 2013-03-31 11:33:56 · 861 阅读 · 0 评论 -
[算法] 矩阵相乘
#include #include #include #include using namespace std;int a[2][3] = {{100, 200, 300}, {400, 500, 600}};int b[3][2] = {{1, 2}, {3, 4}, {5, 6}};int c[2][2];void solve(int m, int n) { for(i原创 2013-04-09 13:30:36 · 987 阅读 · 0 评论 -
[ 面试] 12个小球用天平秤3次,找出其中一个重量不同的。
1、将12个球分成3组a b c,每组4个 1 2 3 4 a组 5 6 7 8 b组 9 10 11 12 c组 2、秤a b 2组,有两种结果:a b一样重;a b 不一样重。 a b一样重:原创 2013-01-29 19:57:54 · 2623 阅读 · 0 评论