面试
彷徨的石头
这个作者很懒,什么都没留下…
展开
-
百度面试
第一面 项目: 1、找一个项目,介绍下情况。其中遇到了什么问题,每种问题怎么样的解决方案。 算法题: 2、一个排好序的数组,找出两数之和为m的所有组合 3、自然数序列,找出任意连续之和等于n的所有子序列 数据结构: 4、从数据库查出一个数据结果集,其中有一个时间字段,请用一个数据结构存储使得可以最快速的查出某个时间段内的记录。 5、上一题我提到了B+树,他就继续问了转载 2012-07-04 08:50:50 · 982 阅读 · 1 评论 -
软件(测试)工程师面试的100个经典问题
这个列表涵盖了软件开发知识体系中定义的大多数知识域。当然,如果你只想找出类拔萃的程序员,便只需涉及结构、算法、数据结构、测试这几个话题。如果想雇架构师,也可以只考虑需求、功能设计、技术设计这些地方。不过不管你怎么做,都要牢记一点: 这里大多数问题的答案都没有对错之分! 欢迎大家就这些问题作为引子,展开热烈讨论。 需求 你能给出一些非功能性(或者质量)需求转载 2012-07-04 08:51:58 · 2224 阅读 · 0 评论 -
JAVA面试题解惑系列(二)——到底创建了几个String对象?
我们首先来看一段代码: Java代码 String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。我们可以把上面这行代码分成String str、=、"转载 2012-07-05 16:23:44 · 794 阅读 · 0 评论 -
JAVA面试题解惑系列(五)——传了值还是传了引用?
JAVA中的传递都是值传递吗?有没有引用传递呢? 在回答这两个问题前,让我们首先来看一段代码: Java代码 public class ParamTest { // 初始值为0 protected int num = 0; // 为方法参数重新赋值 public void change(int i) { i = 5; } //转载 2012-07-05 16:26:50 · 1004 阅读 · 0 评论 -
JAVA面试题解惑系列(九)——继承、多态、重载和重写
什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承、多态、重载和重写。继承简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征--封装、继承、多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因为在JAVA语转载 2012-07-05 16:30:46 · 918 阅读 · 0 评论 -
JAVA面试题解惑系列(十)——话说多线程
线程或者说多线程,是我们处理多任务的强大工具。线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程间的变量不能共享;而线程是运行在进程内部的,每个正在运行的进程至少有一个线程,而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间,而线程是和它所属的进程内的其他线程共享一个存储空间。线程的使用可以使我们能够并行地处理一些事情。线程通过并行的处理给用户转载 2012-07-05 16:31:28 · 503 阅读 · 0 评论 -
JAVA面试题解惑系列(十一)——这些运算符你是否还记得?
有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢?自增(++)和自减(--)运算符 我们先来回答几个问题吧: Java代码 int i = 0; int j = i++; int k = --i; 这段代码运行后,i等于多少?j等于多少?k转载 2012-07-05 16:32:23 · 1354 阅读 · 0 评论 -
JAVA面试题解惑系列(一)——类的初始化顺序
大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变转载 2012-07-05 16:22:34 · 402 阅读 · 0 评论 -
JAVA面试题解惑系列(三)——变量(属性)的覆盖
我们来看看这么一道题: Java代码 class ParentClass { public int i = 10; } public class SubClass extends ParentClass { public int i = 30; public static void main(String[] args) { ParentClass pare转载 2012-07-05 16:24:47 · 737 阅读 · 0 评论 -
JAVA面试题解惑系列(四)——final、finally和finalize的区别
final、finally和finalize的区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。我们首先来说说final。它可以用于以下四个地方: 定义变量,包括静态的和非静态的。 定转载 2012-07-05 16:26:02 · 1073 阅读 · 0 评论 -
JAVA面试题解惑系列(六)——字符串(String)杂谈
上一次我们已经一起回顾了面试题中常考的到底创建了几个String对象的相关知识,这一次我们以几个常见面试题为引子,来回顾一下String对象相关的其它一些方面。一、String类有length()方法吗?数组有length()方法吗? String类当然有length()方法了,看看String类的源码就知道了,这是这个方法的定义: Java代码 public in转载 2012-07-05 16:28:38 · 1056 阅读 · 0 评论 -
JAVA面试题解惑系列(七)——日期和时间的处理
日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。java.util.Date类提到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到毫秒数,这个毫秒数是相对于格林威治标准时间“1970-01转载 2012-07-05 16:29:27 · 1214 阅读 · 0 评论 -
JAVA面试题解惑系列(八)——聊聊基本类型(内置类型)
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下与基本类型相关的知识。基本类型共有八种,它们分别都有相对应的包装类。关于它们的详细信息请看下表: 基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、shor转载 2012-07-05 16:30:12 · 609 阅读 · 0 评论 -
面试及总结
今天去百度大厦面试,职位是测试开发工程师(暑期实习),面试官是一位漂亮、友善的JJ 第一道很简单,问程序在内存有几个数据区,堆和栈区有啥区别第二道是两个有序数组(可能升序或降序),要求合并到一个大数组中,使其仍然有序,讲了大体思路,并用C简单写了实现代码第三道是给出int型的x、 y两个数,要求不借助第三个变量交换x和y的值,啊。从大一开始学C,碰到过用value传参、引用传参、指转载 2012-07-23 19:28:15 · 1104 阅读 · 0 评论 -
微软面试、经典算法、编程艺术、红黑树4大系列总结
一、微软面试100题系列 横空出世,席卷Csdn--评微软等数据结构+算法面试100题 (在此文中,你能找到与微软100题所有一切相关的东西)微软100题微软、谷歌、百度等公司经典面试100题[第1-60题]微软、Google等公司非常好的面试题及解答[第61-70题]十道海量数据处理面试题与十个方法大总结二、经典算法研究系列 一、A*搜索算法一(续转载 2012-07-23 19:22:46 · 4176 阅读 · 0 评论 -
打印菱形
一些面试中,经常要求程序员打印菱形。 打印菱形主要是考验程序员的思考分析能力,通过多层for循环语句的嵌套来实现。 public class LingXing { public static void main(String[] args) { int n=7,i,j;转载 2012-09-04 16:10:16 · 383 阅读 · 0 评论 -
计算阶乘
package Java.programming;//计算一个数的阶乘public class JieCheng { public static void main(String args[]){ int number=16; long result=1; if((nu转载 2012-09-04 16:27:44 · 331 阅读 · 0 评论 -
冒泡排序
冒泡排序是学校考试或公司面试中比较常见的考题,是一种较简单的算法,使用冒泡排序法对数组中的数据进行排序,需要借助一个第三方变量对数组中相邻的两个元素进行比较,直接将较大的元素移动到数组的考前位置,来完成对数组中的对象进行排序。package Java.programming;//使用冒泡排序法进行排序public class Taxis { public static void m转载 2012-09-05 16:27:09 · 425 阅读 · 0 评论 -
字符串反转
实现字符串反转可以先将字符串拆分,再通过for循环反向输出,还可以通过String类的charAt()方法,按照字符串的索引位置反转。public class ReverseString { static String text="本实例实现字符串的反转输出"; public static void main(String[] args) { System.out.println转载 2012-09-05 21:43:31 · 353 阅读 · 0 评论 -
字符串大小写转换
通过String类的toUpperCase()方法和toLowerCase()方法实现字符串大小写的转换。 public class UpperCaseAndLowerCase { public static void main(String[] args) { String str="Excuse me,I don't think we've met.My name's S转载 2012-09-05 22:07:31 · 600 阅读 · 0 评论 -
使用sort()方法实现数组排序
使用冒泡排序法现在可以使用对数组进行排序,但是有些复杂。通过Arrays类的静态sort()方法可实现对数组排序,sort()方法提供了许多重载形式,可对任意类型的数组进行升序排序。package Java.programming;import java.util.Arrays;//通过Arrays类的静态sort()方法实现对数组排序,sort()方法提供了许多种重载形式,可对任意类转载 2012-09-05 16:45:31 · 1987 阅读 · 0 评论 -
根据用户给出的年份求天干、地支和生肖(Java源代码)
我国历法中的天干、地支和生肖,排列时有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:年份减去3除以10得到的余数是几,就对应天干中的第几位;年份减去3除以12得到的余数是几,就对应地支中的第几位;生肖的计算方法和地支的计算方法完全一样。public class ShengXia转载 2012-09-11 09:01:06 · 4499 阅读 · 1 评论 -
不使用第三个变量的情况下交换两个变量中存储的值(Java)
public class SwapAB{ public static void main(String args[]) { int a=5460; int b=5132; System.out.println("a="+a+" b="+b); a=a+b;转载 2012-09-11 10:30:21 · 873 阅读 · 0 评论 -
打印ASCII编码32~126之间的95个字符
public class PrintAscii{ public static void main(String args[]) { String sTemp=""; for(int i=32;i { sTemp=i System.out.print(sTemp+"="+(char)i+" "); //强制类型转换 if((i-31)%8==转载 2012-09-11 11:10:24 · 4275 阅读 · 0 评论 -
计算1+1/3+1/5+...+1/(2n+1)的值
要求使用while循环,且必须计算到1/(2n+1)public class DoWhileDemo{ public static void main(String args[]) { int n=1; double dSum=1.0,dTemp; do { n=2*n+1; dTemp=1.0/n; //非常关键。如果转载 2012-09-11 12:56:32 · 7286 阅读 · 1 评论 -
以面向对象方式编写一个计算电话费的程序
标准:基本通话费是每分钟4角钱,不足一分钟的部分,按照1分钟计算;长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算。整个长途通话费,由上述两项加起来。 public class MobileFee{ public void calcFee(int iSeconds) { int iFee; //基本通话费,每分钟4角钱 iFee=(int)Math转载 2012-09-11 14:26:41 · 2522 阅读 · 0 评论 -
随机生成两位数相加的练习题
使用Math类中的random()方法可以产生一个0~1之间的随机数,这种方式比较简单。为了变成需求,在java.util包中增加了Random类,它是一个能用48位数(seed,又称为种子)进行初始化的随机数生成器。 例如: long seed=Calendar.getInstance().getTimeInMillis(); //使用Random类时,可以使用和转载 2012-09-11 15:20:10 · 6926 阅读 · 0 评论 -
随机生成长度为20个字符的软件安装序列号
import java.util.*;public class GenSN{ Random objRandom; public GenSN() { long seed=Calendar.getInstance().getTimeInMillis(); objRandom=new Random(seed); } private char genChar()转载 2012-09-11 15:35:15 · 3108 阅读 · 0 评论 -
编写一个能根据指定字符对字符串进行拆分的方法
要求:使用String类提供的方法,返回结果存放到Vector的对象中。 import java.util.*;public class StringOP{ //两个参数:第一个是操作对象,第二个是用来截断字符的分隔符 public Vector getInput(String sArg,char cSep) { //将字符类型的参数,转换为String类型转载 2012-09-11 16:17:45 · 2023 阅读 · 0 评论 -
在命令行下实现打字效果
对用户给定的字符串,依次打印出其中的每个字符。打印两个字符之间,有一定的时间间隔。public class TypingWord{ public static void printWordByWord(String sMsg,int iSleep) { int iLen=sMsg.length(); for(int i=0;i { System.out.p转载 2012-09-11 16:50:28 · 1088 阅读 · 0 评论 -
一个多线程演示程序
计算π的值。要求对比在n取值不同时,计算的结果在精度上的差异。不同的n取值情况,要使用多线程同时进行运算。class MyCalcThread extends Thread{ long iArg; public MyCalcThread(String s,long iTmp) { super(s); iArg=iTmp; } public void run(转载 2012-09-11 17:09:46 · 3429 阅读 · 0 评论 -
求一元二次方程的两个实根
public class Root{ int a,b,c; double x1,x2; public Root(int i,int j,int k) { a=i; b=j; c=k; x1=(-b+Math.sqrt(b*b-4*a*c))/(2*a); x2=(-b-Math.sqrt(b*b-4*a*c))/(2*a); } publi转载 2012-09-11 10:45:18 · 2379 阅读 · 0 评论 -
显示Windows操作系统下的各盘符的磁盘空间信息
import java.io.*;import java.text.*;public class DiskRoot{ public static void main(String args[]) throws IOException { System.out.println("驱动器\t磁盘容量\t已用空间\t可用空间"); //获取所有的根目录对象 File转载 2012-09-12 16:22:47 · 505 阅读 · 0 评论 -
算法笔试题
今天去博彦参加笔试,有一个算法,分享一下。 建立一个int类型的数组,随机给其赋值1-100内的数,且数组元素不能重复。 java实现: public class demo01 { public static void main(String args[]){ int A[]=new int[100]; for(i原创 2012-10-11 15:11:34 · 357 阅读 · 0 评论 -
排序问题:各种排序算法的时间复杂度 比较
比较" alt="排序问题:各种排序算法的时间复杂度 比较" src="http://s3.sinaimg.cn/bmiddle/5e3ab00cx882c716a9e82&690"> 1.冒泡排序:n*n。 俩个for循环决定其时间复杂度为n^2template class T> void Swap(T A[], int i, int j){ T tmp =转载 2012-10-12 09:59:30 · 1147 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表 java版本
把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构如下: struct BSTr转载 2012-10-12 10:38:06 · 577 阅读 · 0 评论 -
两个有序数组合并为一个有序数组
思想:先依次比较两个数组,按照小的就传入新的数组。当这次比较完之后可能有一个数组的长度很长,留下一些数组,然后在新数组的末尾插入即可。1 class ArraySort 2 { 3 //两个有序数组的合并函数 4 public static int[] MergeList(int a[],int b[]) 5 { 6 int resu转载 2012-10-13 09:13:20 · 1172 阅读 · 0 评论 -
华为面试题:1分2分5分的硬币,组成1角,共有多少种组合。 Java源代码
public class Jiaofen { public static void main(String args[]) { int i,j,k; int n=0; for(i=0;i { for(j=0;j { for(k=0;k {原创 2012-10-17 11:17:15 · 4477 阅读 · 0 评论 -
已经有13个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次天平就找到那个球?
将十三个球分成3组:A(1\2\3\4)、B(5\6\7\8)、C(9\10\11\12\13)。将A组和B组放在天平的左右两端(第一次称),有三种情况:A重B轻、A轻B重、AB一样重。下面分三种情况分析:(1)、AB一样重。 在这种情况下,不同的那个球在C组(9、10、11、12、13)里面。然后,9、10放天平左边,11、12放天平右边(第二次称重)。转载 2012-10-17 14:35:34 · 1452 阅读 · 0 评论 -
HashMap与TreeMap的区别
HashMap通过hashcode对其内容进行快速查找,而TreeMap中的所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中的元素的排列顺序是不固定的)。 集合框架提供两种常规的Map实现:HashMap和TreeMap(TreeMap实现SortedMap接口)。在Map中插入、删除和定位元素,HashMap是最好的选择。转载 2012-10-30 09:09:04 · 625 阅读 · 0 评论