英国《经济学家》:http://www.economist.com/index.html
财富杂志:http://money.cnn.com/magazines/fortune/
福布斯:http://www.forbes.com/
普特英语听力:http://www.putclub.com/index.php
英语之声:http://www.4english.cn/

posted @ 2006-07-12 15:17 负人博客 阅读(132) | 评论 (0)编辑 收藏

1.北京柳浪游泳场

地址:海淀区颐和园南门

从清河出发:
            (1)从清河出发,乘坐运通109(锦绣大地绿色市场-霍营),抵达长河桥. 约17.63公里;
            (2)从清河出发,乘坐333(原355支)(西二旗北站-小营西站),在中关村换乘840内(黄土岗村-黄土岗村),抵达长河桥. 约12.31公里;
            (3)从清河出发,乘坐355(廖公庄-育新小区),在中关园换乘运通110(田村小区-望京新城),抵达长河桥. 约13.17公里

从西直门出发:
         直门出发,乘坐360区间(闵庄南里-西直门),抵达长河桥. 约9.96公里

2.北京的几个大药房
   这两天为一个外地朋友买药,我是跋山涉水,翻山越岭,好不容易找到几个北京比较大的药房,到了一看,妈呀,原来两个挨着:
     (1)天天好大药房
          清河出发乘坐604南樱桃园下车
     (2)百姓阳光大药房
          清河出发乘坐604南樱桃园下车 向前走300m左右到。

posted @ 2006-07-11 14:16 负人博客 阅读(274) | 评论 (0)编辑 收藏

第一,谈谈final, finally, finalize的区别。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

第四,&和&&的区别。

第五,HashMap和Hashtable的区别。

第六,Collection 和 Collections的区别。

第七,什么时候用assert。

第八,GC是什么? 为什么要有GC?

第九,String s = new String("xyz");创建了几个String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

第十二,sleep() 和 wait() 有什么区别?

第十三,Java有没有goto?

第十四,数组有没有length()这个方法? String有没有length()这个方法?

第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

第十七,给我一个你最常见到的runtime exception。

第十八,error和exception有什么区别?

第十九,List, Set, Map是否继承自Collection接口?

第二十,abstract class和interface有什么区别?

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

第二十三,启动一个线程是用run()还是start()?

第二十四,构造器Constructor是否可被override?

第二十五,是否可以继承String类?

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?

第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,编程题: 写一个Singleton出来。

以下是答案

第一,谈谈final, finally, finalize的区别。

final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1

注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

第四,&和&&的区别。

&是位运算符。&&是布尔逻辑运算符。

第五,HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上。

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

第六,Collection 和 Collections的区别。

Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。

第七,什么时候用assert。

断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。它用于调试目的:

assert(a > 0); // throws an AssertionError if a <= 0

断言可以有两种形式:

assert Expression1 ;
assert Expression1 : Expression2 ;

Expression1 应该总是产生一个布尔值。
Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:

javac -source 1.4 Test.java

要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。
要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。
要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。

可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。


第八,GC是什么? 为什么要有GC? (基础)。

GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

System.gc()
Runtime.getRuntime().gc()

第九,String s = new String("xyz");创建了几个String Object?

两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱

sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。

wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

第十三,Java有没有goto?

Goto?java中的保留字,现在没有在java中使用。

第十四,数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。
String有有length()这个方法。

第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。

equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

第十七,给我一个你最常见到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什么区别?

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。


第十九,List, Set, Map是否继承自Collection接口?

List,Set是

Map不是

第二十,abstract class和interface有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?都不能

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

第二十三,启动一个线程是用run()还是start()?

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

第二十四,构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

第二十五,是否可以继承String类?

String类是final类故不可以继承。

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?

有C背景的程序员特别喜欢问这种问题。

2 << 3

第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

不对,有相同的hash code。

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

第三十二,编程题: 写一个Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种种形式:

第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}

第二种形式:

public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance;   }
}

其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些

第三十三 Hashtable和HashMap

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

 

posted @ 2006-07-11 14:10 负人博客 阅读(193) | 评论 (0)编辑 收藏

笔试考核

    IBM招聘考核的第一关是笔试,主要测应聘者的综合素质。IBM在全球设有一个“数据处理测试”(Data Procession)题库,用来笔试考核。考核的目的是测试应聘者的逻辑推理能力。为IBM的招聘官员做参考。

    IBM对应聘者的专业背景并无严格要求。也许很多人都难以置信,IBM笔试考核题目中没有任何关于计算机知识的内容。这有两方面原因,一是IBM招聘的岗位覆盖面较广,不是所有的人员都从事IT技术岗位,如果应聘的是技术岗位,在将来的面试中会有专门部门进行考核。二是IBM看重应聘者的潜能。笔试题目时间很短,由于时间紧迫,在压力之下,有的应聘者十分紧张,而有的应聘者却有很好的心理素质,十分冷静。通过这样的笔试,就能考查应聘者的综合反映速度、判断能力以及心理素质等。

    在IBM中,有时,非IT专业出身的应聘者也能在IT技术岗位上做得十分出色。IBM有一名技术经理,并非电子或计算机等技术专业背景,专业反而是戏剧编剧,进IBM后却当上了系统工程师。在IBM,只要你有兴趣和潜力,公司就会给你机会。在笔试之后的各轮面试中,和今后的 培训 和工作中,IBM会发现你的兴趣和潜力。

    屈原《离骚》:“举贤而授能兮,循绳墨而不颇。”选拔与任用人才,遵循规则与法度就不会有偏差。IBM通过相应的笔试来测试应聘者的逻辑推理能力,但只以之作为评判人才的参考,有助于选拔到合适于岗位与公司的人才。

    面试

    IBM的招聘面试流程并不复杂,应聘者在通过IBM人力资源部门的测试之后,就可以直接与招聘部门负责人进行交流。人力资源部门的测试题主要都是测IQ,一般很简单,要求答题有一定的速度。

    IBM认为,无论哪种考试都不可能即时进行灵活地变动,而每名应聘者都很灵活,情况也各有不同。因此只有通过面试,才能最能动地随时做出调整和判断,评判出应聘者是否符合IBM公司的要求,结果才是真实的。这也要求主持面试的评判者技能和经验都应该很丰富。IBM很重视面试,一般事先由人力资源部门提供给经理层有关参考例题,希望他们做出公正的判定。新员工一般要经过两轮面试,一些重要的岗位要经过4-5面试。

    面试所考核的素质:

    诚信——IBM负责招聘的经理级人员都要经过专门的 培训 。在面试时,IBM很看重人的正直和诚实,并把诚信的品质放在很重要的位置。

    自信心——其次,应聘者是否充满自信心也很重要,在面试中IBM通过观察应聘者的肢体语言就可以判别对方是否具有自信心,自信但绝不要狂妄。

    沟通能力——再有就是应聘者是否善于沟通,一个人的沟通能力不在于说话多少,而在于能否说到点子上,思路是不是清晰,是不是有逻辑性。。举个例子来说,在面试客户代表时,招聘者常常会想,如果我是客户,我会愿意同这个人做生意吗?答案若是肯定的,他(她)就被录用了。在面试时,面试人员还会提一些与应聘者观念不同的问题,看对方如何回答。沟通能力强的学生表现会很自如,落落大方。曾经有一个有过工作经历的应聘者来应聘,面试人员出了一道难题,问她在三五年以后是否有离开公司的打算。面对这一问题,比较常见的回答是“我不会有这样的考虑”。可她回答说:“我现在不能给你‘是’或‘不是’的答案,但我可以向你承诺,在IBM这几年会竭尽全力作出贡献,绝对不会辜负公司的信任和培养。”这个回答给面试人员很深的印象。4年后她离开IBM公司,但IBM公司认为她在IBM干得很出色,实现了面试时的诺言。

    其他——诸如应聘者工作态度上是否具有主动精神,工作中的学习能力、创新能力以及适应变化的能力等因素也很重要。

    面试是一个非常重要的过程,IBM认为,面试是双方的沟通,是双方价值观的交流与认同过程,无论经过几次面试,最终都是为了达到这个目的。

    《墨子》:“听其言,观其行,察其所能。”听其言论,观察其行为,而知其能力与特长。

    《后汉书》:“吴季英有知人之明。”知人之明,能识别、提拔人才的才能与本领。IBM的每一位面试官员靠过硬的知人之明,为IBM甄选优秀的人才。

    IBM人力资源部设有专门的应聘者数据库,所有应聘者的数据都会在数据库里保存1年。也就是说,那些曾因为IBM不能为其提供合适位置而离去的应聘者,1年之后还将有新的机会被重新纳入IBM公司的考虑范围内。

    就像大海,“蓝色胸怀”是包容、宽大的胸怀。IBM的浑厚、大气、包容、开放和活跃的文化则在招聘政策上得以充分体现:一般来说,刚进入IBM的应届大学毕业生与IBM签订5年的劳动合同,在合同期间,如果员工离职,只需要按照《劳动法》的规定提前一个月的时间通知公司即可,并不需承担违约责任,不会受到IBM任何所谓的惩罚。

    有容乃大,事实上,IBM这种极具包容性的企业文化反而吸引了众多优秀的人才,在IBM长期奋斗。

posted @ 2006-07-11 14:00 负人博客 阅读(260) | 评论 (0)编辑 收藏

IBM公司面试题:病狗问题
   
  村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?
   
  推论:
   
  A、假设有1条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。
   
  B、假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。
   
  由此推理,如果第三天枪响,则有3条病狗。
   
  IBM公司面试的三道题
   
  第一道题:在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?
   
  第二道题:有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
   
  第三道题:一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄。请问三个女儿的年龄分别是多少?为什么?
   
  IBM社会招聘笔试题
   
  1.一个粗细均匀的长直管子,两端开口,里面有4个白球和4个黑球,球的直径、两端开口的直径等于管子的内径,现在白球和黑球的排列是wwwwbbbb,要求不取出任何一个球,使得排列变为bbwwwwbb。
   
  2.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?
   
  3.在一个平面上画1999条直线最多能将这一平面划分成多少个部分?
   
  4.在太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上,被土人抓住,土人的祭司告诉他,你临死前还可以有一个机会留下一句话,如果这句话是真的,你将被烧死,是假的,你将被五马分尸,可怜的探险家如何才能活下来?
   
  5.怎样种四棵树使得任意两棵树的距离相等。
   
  6.27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?
   
  7.有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的8点30和星期二的8点30他都到了山路靠山脚的3/4的地方,问这是为什么?
   
  8.有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
   
  IBM面试题目
   
  1. Describe your greatest achievement in the past 4-5 years?
   
  2. What are your short & long term career objectives? What do you think is the most ideal job for you?
   
  3. Why do you want to join IBM? What do you think you can contribute to IBM?

posted @ 2006-07-11 13:52 负人博客 阅读(258) | 评论 (0)编辑 收藏

http://www.gter.net/news/html/200507/1120506822.html

posted @ 2006-07-10 16:56 负人博客 阅读(248) | 评论 (0)编辑 收藏

一    文件上传
        文件上传的实现可以采用三方包commons-fileupload.jar,具体使用情况可参考:
        http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=8025&tstart=0&quint=true

二    文件下
         很多时候需要从jsp(或xslt的查询结果)导出到excel或word,一个简单的方法是采用jsp实现,具体实现方式(以导出到excel为例)       
first.jsp(此jsp用来显示查询结果,上面有一个按钮,点击下载):
<script language="javascript">
  function doExport(){
   document.all.form1.action="export.jsp";
    var str = document.getElementById("table1").outerHTML;
   document.all.excelText.value= str;
   document.all.form1.submit();
  }
<script>
 <form name="form1" method="post" action="">
    <input type="hidden" name="excelText" id="excelText" >
   <input name="exportBtn" type="button" onclick="doExport()" class="button" value="导出">
</form>

 <table width="100%" id="table1" border="1" cellpadding="2" cellspacing="1" bordercolordark="#FFFFFF">
                            .............................这里面是具体需要导出去的数据
</table>
export.jsp(执行导出操作)
<%@page contentType="text/html;charset=GB2312"%>
<%
 String fileName="fileName";//随便定义,也可不定义
 response.setContentType( "Application;charset=GB2312");
 response.setHeader("Content-disposition","attachment;filename=\"" + fileName + "\";");
 java.io.PrintWriter bos = response.getWriter();
 String html = request.getParameter("excelText");
 bos.write(html);
 bos.close();
%>
到此,文件导出操作完成,点击“导出”按钮即可出现保存对话框。
在做的过程中偶然碰到了一个问题,点击一次导出,可以顺利保存,点击第二次时出现脚本错误。
解决方法是在doExport()方法中指定document.all.form1.target = "_blank";这样可以顺利保存,但打开了一个新窗口。


另见:
http://gocom.primeton.com/modules/newbb/item6387_6387.htm?PHPSESSID=954fcc1380ffdda1e535081d4c049529
  
 

posted @ 2006-07-10 16:40 负人博客 阅读(389) | 评论 (0)编辑 收藏

马云致天下所有创业者
        这几天,我越来越希望这个活动能够永远的搞下去,从那么多的创业者身上我学到了很多东西,回想起我自己的创业。我敢保证如果我在这儿接受这种考官的话,我一定进不了108强。

其实你进了108强、进了36、进了12强你并不一定都很顺,所以一定要记住每次的失败要接受教训,也许它就会走向成功,所以作为创业者我永远讲创业者是寂寞的,尤其在中国来讲创业者是非常寂寞的,但是参加《赢在中国》之后,我觉得创业者是快乐得,一个人在黑暗中走路是寂寞的,那么多人手拉着手走的时候那是快乐、那是勇往直前。

创业者没有先、没有后、没有大、没有小,每一个人都是在同一起跑线上,你们每个人身上的不可放弃的精神都鼓励了我,我会跟大家一起创业,阿里巴巴所有的公司都会支持创业者、帮助更多的创业者成功。
马云:发不出工资是领导者的耻辱
        作为一个领导者不要让你的员工为了你而工作,应该是为了共同的目标或者使命,或者是一个理想去工作,绝对不要因为领导者的人格魅力而工作。

四个月不发工资不是魅力,是领导者的耻辱,你每次要判断怎么样让员工永远有工资发。

聪明是智慧者的天敌,傻瓜用嘴讲话,聪明的人用脑袋讲话,智慧的人用心讲话。所以永远记住,不要把自己当成最聪明的,最聪明的人相信总有别人比自己更聪明。
马云谈创业与读书的关系
        “很多时候创业者因为自己搞不清楚而不去创业,实际上等你搞清楚以后就更不会去创业了。书读的不多没有关系,就怕不在社会上读书。”

“学者型的创业者往往面对同一个问题,他总是从宏观推向微观,根据这个国家甚至国际经济走势一定能预测出来一些创业方向,这个东西特别的学术化,往往是我听的很激动但我不知道怎么干,实际上有的时候大势好未必你好,大势不好未必你不好。”
马云:服务是全世界最贵的产品
         
所有的初创型企业都面临先生存再发展的问题,有的企业希望一上手迅速做大做强,企业要想活下来的话,第一个想法是做好,不是做大。

我们是做电子商务的企业,是服务型的行业,服务是全世界最贵的产品,最佳的服务就是不要服务,最好的服务就是不需要服务,完善好一个良好的体系最重要。从中国来说,服务是最昂贵的产品,服务也是将来的一个趋势。但是服务型企业的最终目的一定是要让你的客户不需要服务,这样企业才能做好。

诚信不是一种销售,不是一种高深空洞的理念,是实实在在的言出必行,点点滴滴的细节,诚信不能拿来销售,不能拿来做概念。
马云:创业要找最合适的人
         创业时期不要找明星团队,不要把一些成功者聚在一起,尤其是那种35岁,40岁的话已经有钱了,成功了的人,已经成功过在一起创业很难,创业初期要寻找那些没有成功,渴望成功,团结的团队。等到事业达到一定程度的时候,再请一些人才。创业要找最合适的人,不一定要找最成功的人。

女性创业是一个挑战,女性创业最大的挑战和突破在于用人,用人最大的突破在于信任人。
马云:世界上最不可靠的东西就是关系
         “我没有关系,也没有钱,我是一点点起来,我相信关系特别不可靠,做生意不能凭关系,做生意不能凭小聪明,做生意最重要的是你明白客户需要什么,实实在在创造价值,坚持下去。这世界最不可靠的东西就是关系。”


        

 

posted @ 2006-07-07 15:18 负人博客 阅读(760) | 评论 (2)编辑 收藏

有关tomcat数据源配置的文章已经不少,但是一般都是把数据源直接配置到server.xml文件中,这样在移植应用程序时带来了一些不必要的麻烦,其实tomcat数据源的配置还有一种方法如下:
1.假如有工程test,其需要用到的数据源为test/jdbc/Data,则在目录TOMCAT_HOME/conf\Catalina\localhost
下面建立文件test.xml,内容为:

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" displayName="Test" docBase="Test" path="/Test" workDir="work\Catalina\localhost\Test">
  <Resource auth="Container" name="test/jdbc/Data" type="javax.sql.DataSource"/>
  <ResourceParams name="test/jdbc/Data">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <parameter>
      <name>url</name>
      <value>jdbc:jtds:sqlserver://127.0.0.1:1433/test;tds=8.0;lastupdatecount=true;</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>11111111</value>
    </parameter>
    <parameter>
      <name>maxWait</name>
      <value>10000</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>100</value>
    </parameter>
    <parameter>
      <name>driverClassName</name>
      <value>net.sourceforge.jtds.jdbc.Driver</value>
    </parameter>
    <parameter>
      <name>username</name>
      <value>sa</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>30</value>
    </parameter>
  </ResourceParams>
</Context>

2.其他配置
  (1)web.xml文件
     在工程当中的web.xml文件中添加
    <resource-ref>
       <res-ref-name>test/jdbc/Data</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
    </resource-ref>
 (2)工程中调用代码
    Context initContext = new InitialContext();
      Context envContext  = (Context)initContext.lookup("java:/comp/env");      
      DataSource ds = (DataSource)envContext.lookup("test/jdbc/Data");
 // test/jdbc/Data是数据源的名字 
      Connection conn = ds.getConnection(); 
 Statement stmt = conn.createStatement();

 

posted @ 2006-07-06 18:29 负人博客 阅读(10456) | 评论 (0)编辑 收藏

一 发送邮件的基类:
package com.spring.mail;

import org.springframework.mail.MailSender;
//import org.springframework.mail.javamail.JavaMailSender;

public abstract class BaseMailSender {
 protected String to;

 protected String from;

 protected String subject;

 protected MailSender sender;
 //当发送的邮件为简单邮件时用MailSender即可;
 
 //protected JavaMailSender sender;
 //当发送的邮件为MIMI时用JavaMailSender
 public void setTo(String to) {
  this.to = to;
 }

 public void setFrom(String from) {
  this.from = from;
 }

 public void setSubject(String subject) {
  this.subject = subject;
 }

 public void setJavaMailSender (MailSender sender) {//(JavaMailSender sender) {
  this.sender = sender;
 }
}
发送邮件调用的类:
package com.spring.mail;

import javax.mail.MessagingException;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;

public class SimpleHtmlMailSender extends BaseMailSender{

 public void sendMessage() throws MessagingException {
  String textStr = "Helo!!!!!!!!!!!";//发送邮件的消息主体  
  SimpleMailMessage msg = new SimpleMailMessage();  
  msg.setTo(to);
  msg.setFrom(from);
  msg.setSubject(subject);
  msg.setText(textStr);  
  sender.send(msg);
 }

 public void doIt() throws Exception {

  ClassPathXmlApplicationContext ctx1 = new ClassPathXmlApplicationContext(
    new String[] { "ApplicationContext.xml" });
  SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx1.getBean("messageSender");
  
  sender.sendMessage();
  System.out.println("发送成功");
 }
}
配置文件ApplicationContext:
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd ">
<beans>
 <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host">
   <value>smtp.163.com</value>
  </property>
   <property name="username">
    <value>tomcat0506</value>
  </property>
  <property name="password">
   <value>wes</value>
  </property>
         <property name="javaMailProperties">
    <props>
     <prop key="mail.smtp.auth">true</prop>
    </props>
         </property>
  </bean>
  <bean id="messageSender" class="com.spring.mail.SimpleHtmlMailSender">
  <property name="javaMailSender">
   <ref bean="sender"/>
    </property>
    <property name="to">
   <value>wes830506@126.com</value>
    </property>
    <property name="from">
    <value>tomcat0506@163.com</value>
    </property>
  <property name="subject">
   <value>test</value>
    </property>
  </bean>


 <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">      
  
  
  <!-- <property name="jobClass">
   <value>com.spring.mail.SimpleHtmlMailSender</value>
  </property>-->

  <property name="targetObject"><ref bean="messageSender"/></property>       
  <property name="targetMethod"><value>doIt</value></property>

 </bean>

 <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  <property name="jobDetail"><ref bean="methodInvokingJobDetail"/></property>
  <property name="startDelay">
   <!-- 3 seconds -->
   <value>3000</value>
  </property>
  <property name="repeatInterval">
   <!-- repeat every 6 seconds -->
   <value>6000</value>
  </property>
 </bean>


 <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail"> <ref bean="methodInvokingJobDetail"/></property>
  <property name="cronExpression"> <value>0 0 6,12,20 * * ?</value>  </property> 
 </bean>

 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
    <list>
    <ref local="simpleTrigger"/>
   </list>
  </property>  
 </bean>
</beans>


二 mimi邮件发送


在编写发送邮件程序时需要用到的类有一下几个:
 org.springframework.mail.javamail.JavaMailSender;
 //此类继承了spring里面的
 //MailSender接口--定义了两个简单的sender方法,用于发送简单的邮件信息,参数类型为:SimpleMailMessage([])
 //JavaMailSender类继承了上面方法后支持MIMI邮件,可以发MIMI消息
 org.springframework.context.support.ClassPathXmlApplicationContext;
 //spring里面读取配置文件时需要用到的类
 org.springframework.mail.javamail.MimeMessageHelper;
 //在发送MIMI消息时需要用到的辅助类 


 javax.mail.MessagingException; 
 javax.mail.internet.MimeMessage;
 //J2EE里面支持发送MIMe信息需要的类

例子:
发送邮件的基类
BaseMailSender .java:
import org.springframework.mail.javamail.JavaMailSender;
public abstract class BaseMailSender {
 protected String to;
 protected String from;
 protected String subject;
 protected JavaMailSender sender;//当发送MIMI消息时用到的类

 public void setTo(String to) {
  this.to = to;
 }
 public void setFrom(String from) {
  this.from = from;
 }
 public void setSubject(String subject) {
  this.subject = subject;
 }
 public void setJavaMailSender(JavaMailSender sender) {
  this.sender = sender;
 }
}
发送邮件的类:
package com.spring.mail;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.MimeMessageHelper;

public class SimpleHtmlMailSender extends BaseMailSender{

 public void sendMessage() throws MessagingException {
  
  //String htmlHead = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"></head><body>";
  //String htmlBody = "";
  //String htmlEnd = "";
 // StringBuffer mailMessage = new StringBuffer();
  //mailMessage.append(htmlHead);
  //mailMessage.append(htmlBody);
  //mailMessage.append(htmlEnd);
  
  
  //当发送的邮件为简单邮件时注销此句  
  String textStr = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"></head><body><h1><a href='#'>^_^!</a></h1></body></html>";

  //String textStr = "Helo could you see this email?";//发送邮件的消息主体
  
  //SimpleMailMessage msg = new SimpleMailMessage();
  
  //当发送邮件为简单邮件时把此句注销即可
  
  MimeMessage msg = sender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(msg, true, "GB2312");
  
  helper.setTo(to);
  helper.setFrom(from);
  helper.setSubject(subject);
  helper.setText(textStr, true);
  /*
  msg.setTo(to);
  msg.setFrom(from);
  msg.setSubject(subject);
  msg.setText(textStr);
  */
  sender.send(msg);
 }

 public void doIt() throws Exception{//static void main(String[] args) throws Exception {//
  //ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[] { "springexample-creditaccount.xml" });

  ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
    new String[] { "ApplicationContext.xml" });

  SimpleHtmlMailSender sender = (SimpleHtmlMailSender) ctx
    .getBean("messageSender");
  sender.sendMessage();
  System.out.println("发送成功");
 }
}
配置文件同上!

posted @ 2006-07-06 18:25 负人博客 阅读(1586) | 评论 (1)编辑 收藏

仅列出标题
共3页: 上一页 1 2 3 下一页 

posts - 26, comments - 5, trackbacks - 0, articles - 8

Copyright © 负人博客