
面试题
程序员Linc
资深技术专家,专注移动开发与人工智能领域15年+
展开
-
链表的一些常见笔试面试问题总结及代码
链表的一些常见笔试面试问题总结及代码先什么也不说,假设链表节点的数据结构为:struct node {int data;struct node* next;};创建单链表的程序为:struct node* create(unsigned int n){//创建长度为n的单链表assert(n > 0);node* head;head = new node;head->next = NULL;cout cin >> head->data;if (n == 1){ return head;}node* p转载 2010-07-14 10:35:00 · 1559 阅读 · 0 评论 -
Java 笔试题 二
1、请说出你所知道的线程同步的方法。 wait():使一个线程处于等待状态,并且释放所持有的对象的lock。 sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。 notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。 Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁原创 2010-08-14 11:27:00 · 2175 阅读 · 0 评论 -
Java 面试题 三
1、java中会存在内存泄漏吗,请简单描述。 会。如:int i,i2; return (i-i2); //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。 2、java中实现多态的机制是什么? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 3、什么是java序列化,如何实现java序列化? 序列化就是原创 2010-08-16 08:56:00 · 1873 阅读 · 0 评论 -
Java 算法题 一
<br /><br /> /** *//**父子俩的年龄:父亲今年30岁,儿子今年6岁,问多少年后父亲的年龄是儿子年龄的2倍。*/<br />package exec;<br />public class Age {<br /> public static void main(String[] args) {<br /> // TODO Auto-generated method stub<br /> int father = 30;<br /> int so原创 2010-08-31 15:09:00 · 2621 阅读 · 0 评论 -
每天一道C++笔试题 I
首先声明这些题都是从网上搜到的,伤害到版权的,请通知我!0.0如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针)struct node { char val; node* next;}bool check(const node* head) {} //return false : 无环;true: 有环一种O(n)的办法就是(搞两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然):bool check(const node* head){if(he原创 2011-03-28 14:14:00 · 1803 阅读 · 0 评论 -
每天一道C++笔试题 II
<br /> <br />输入一个字符串,将其逆序后输出。(使用C++,不建议用伪码) <br />第一种方法,应该是c语言的方法:<br />#include <iostream> using namespace std; void main() { char a[50];memset(a,0,sizeof(a)); int i=0,j; char t; cin.getline(a,50,'/n'); for(i=0,j=strlen(a)-1;i原创 2011-03-29 09:18:00 · 1850 阅读 · 0 评论 -
每天一道C++笔试题 III --- strcmp
这道题主要考察指针和字符串(char[]),这是C语言必备的技能,但指针在C++也是重要之极。题目是大家都熟悉的老调重弹,帮助大家温习之。不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1。背景知识:char string[] = "luck";1、字符数组的最后添加一个结束字符'\0'就是字符串。2原创 2013-01-19 10:42:36 · 2616 阅读 · 3 评论 -
每天一道C\C++笔试题IV---翻转字符串
这也是笔试中一道经典的C语言题:给定一个字符串,将其翻转。如abc ==> cba拿到此题时,我是想都没想,直接说,再用一个字符串tmp来缓存一下此串,然后一个for循环赋值搞定。思路有了,代码就有了。#include #include int main(){ char string[20],tmp[20]; int length; printf("please i原创 2013-02-23 10:19:07 · 3664 阅读 · 2 评论 -
每天一道C\C++笔试题V---内存泄露
俗语云:出来混,迟早是要还的。下面是一道初级内存泄露题,程序员小懒儿显式的用new动态分配了内存,却忘记了用delete释放。请找出问题的所在,代码如下:#include #include using namespace std;class Student{ int student_number; char* name;public: Student(int,c原创 2013-03-07 22:08:34 · 4287 阅读 · 4 评论 -
Java笔试题一
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为原创 2010-08-14 11:10:00 · 2872 阅读 · 6 评论 -
strcpy和memcpy
<br /><br />6.2 字符串与数组<br />字符串一般是用字符数组的方式存储,例如下面的str定义:char str[] = "123456";<br />这里str是一个字符数组,它存放了一个字符串"123456",由于字符串还有一个结束符"/0",所以此数组的长度为7而不是6。<br />6.2.1 strcpy函数与memcpy函数<br />strcpy和memcpy都是标准C库函数,它们有下面的特点。<br />strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅转载 2010-07-15 11:05:00 · 3698 阅读 · 0 评论 -
18道c++笔试题
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体 (inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的私有变量。私有变量不能直接访问。 -----------------------------------------转载 2010-07-15 08:44:00 · 1526 阅读 · 0 评论 -
c++中的volatile
<br />volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以死代码消除。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化,volatile的字面含义是易变的,它有下面的作用: <br /><br /> 1 不会在两个操作之间把volatile变量缓存在寄存器中。在多任务、中断、甚至setjmp环境下,变量可能被其他的程序改变,编译器 自己无法知道,vola转载 2010-07-15 10:16:00 · 1726 阅读 · 0 评论 -
C++:memset ,memcpy 和strcpy 的根本区别?
#include “memory.h”memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ‘或‘/0′;例:char a[100];memset(a, ‘/0′, sizeof(a));memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。strcpy就只能拷贝字符串了,它遇到’/0′就结转载 2010-07-14 10:24:00 · 1763 阅读 · 0 评论 -
链表翻转
<br />单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:struct linka { int data; linka* next;};void reverse(linka*& head){转载 2010-07-14 10:27:00 · 1275 阅读 · 0 评论 -
面试题:重写strcpy() 函数原型
<br />已知strcpy函数的原型是<br />char* strcpy(char* strDest,const char* strSrc);<br />1.不调用库函数,实现strcpy函数<br />2.解释为什么要返回char*;<br />1.strcpy的实现代码<br />char* strcpy(char* strDest,const char* strSrc)<br />{<br /> if((strDest == NULL) || (strSrc == NULL)) //[1]<br转载 2010-07-14 10:16:00 · 1491 阅读 · 0 评论 -
链表逆序
<br /> 已知链表的头节点head,写一个函数把链表逆序<br /> <br />1.#include<iostream> 2.using namespace std;<br />3.4.class Node<br />5.{<br />6.public:<br />7. int data;<br />8. Node* next;<br />9.};<br />10.11.Node* ReverseList(Node *head)<br />12.{<br />13. if((head转载 2010-07-14 10:30:00 · 1503 阅读 · 0 评论 -
ms的将链表逆序的笔试题
<br />题目出处:http://blog.rainbud.net/article/entry20050928-014721<br />给定一单链表的表头指针和指向其中一个节点的指针,要求以该指针为头将原链表逆序排列,例如:<br />1. N1->N2->N3->N4->N5->NULL pHEAD = N1,pSTART = N3,返回N3->N2->N1->N5->N4->NULL<br />2. N1->N2->N3->N4->N5->NULL pHEAD = N1,pSTART = N5,返转载 2010-07-14 10:33:00 · 1570 阅读 · 0 评论 -
c++中的断言
<br /><br />assert(),即断言;<br />一般可以用于调试阶段的出错处理.<br />需要注意的是在release版本中,这个不起作用.<br />头文件是 assert.h(C), cassert(c++) .<br />示例:<br /> //VC2005下编译通过.C++代码#include <stdio.h> #include <stdlib.h> #include <assert.h> void main() { char *p=NULL; char转载 2010-07-15 11:29:00 · 2152 阅读 · 0 评论 -
C++面试题集合
(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 (2)char * const p char const * p const char *p 上述三个有什么区别?答案: char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和转载 2010-07-14 10:06:00 · 2731 阅读 · 0 评论 -
一道算法题
有4个彩色的立方体。立方体的6个面,每面都涂上了1种颜色。一共有4种颜色,蓝色(B),红色(R),绿色(G)和黄色(Y)。立方体的6个面称为前(front)、后(back)、左(left)、右(right)、上(top)、下(bottom)。 这4个立方体的颜色排列为:编号 front back left right top bottom 1 R B G Y B Y原创 2010-05-26 22:09:00 · 1814 阅读 · 1 评论