23 November 2013
11月23号去清华参加的笔试,那时候Java准备的还算充分了,笔试答的还可以,面试的时候看到Java和数据结构方面分别错了2个,很不错了。搜狗是一家非常好的公司,据说待遇是13.5x15,还带期权,马上要上市的公司。我也很想去。一面很顺利,一共面了20min,面试官说知道我的能力,让我直接进复试。当时我特别高兴,因为过了一面其实已经一只脚踩进了搜狗。二面的时候,面试官很强势,再加上我很期待进入这家公司,很是紧张。他直奔主题,问我看过哪些Java源代码,Java虚拟机垃圾回收具体用的是什么方法,后台服务器解决并发请求时常见的工具和解决方案是什么。这些都答的马马虎虎。最后一个算法,有10G的文件,里面保存着网站的黑名单,怎么样在处理用户请求时查找到该用户时候存在于黑名单中。此算法我写了半个多小时,勉强写完。我和搜狗的情节也就此画上了句号。一方面自己能力还是有限,另一方面,其实我还是有机会进入这种牛逼互联网公司的,加油。最后附上当时拍的搜狗的照片。

#####1. 以下关于JSTL和EL表述正确的有:(CD)

  • A. JSTL标签<c:if><c:when>都拥有test属性
  • B. 使用JSTL标签<fmt:formatDate format=”yyyy年MM月dd日 HH点mm分ss秒”可以得到”2009年01月05日22点00分23秒”格式的时间值
  • C. 使用EL表达式可以输出request中的值
  • D. 使用EL表达式可以输出cookie中的值

#####2. 一下程序执行后将有(C)个字节被写入到文件afile.txt中。

try {
	FileOutputStream fos = new FileOutputStream(“afile.txt”);
	DataOutputStream dos = new DataOutputStream(fos);
	dos.writeInt(3);
	dos.writeChar(1);
	dos.close();
} catch(IOException e) {}
  • A. 3
  • B. 5
  • C. 6
  • D. 不确定,与软硬件环境有关

char占两个字节,int占4个。

#####3. 下面哪些说法是正确的(D)

  • A. 如果引用x和引用y表示2个不同的对象,那么x.equals(y)始终为false
  • B. 如果引用x和引用y表示2个不同的对象,那么(x.hashCode()==y.hashCode())始终为false
  • C. Object的hashCode方法被声明为final
  • D. 所有数组都有一个clone()方法

#####4. 哪两个说法是正确的?()

class A {
	A() {}
} 
class B extends A {
} * A. B类的构造函数应该是public * B. B类的构造器应该是没有参数的 * C. B类的构造器应该调用this() * D. B类的构造器应该调用super()

#####5. 下面代码的输出为:(C)

String s = “hello world”;
String s1 = “Hello world”;
s.replace(“hello”, “Hello”);
System.out.println((s == s1) + “,” + s.equals(s1)); * A. true, true * B. false, true * C. false, false * D. true, false

String的replace不会改变String的内容,只能返回一个被修改的字符串。

#####6. 下面那些类,不是实现于Collection接口(C)

  • A. TreeSet
  • B. ArrayList
  • C. HashMap
  • D. Vector

ABD都是实现的List接口。HashMap实现Map接口。

#####7. 下列哪些不是JSP中的隐含变量(A)

  • A. session
  • B. servletContext
  • C. config
  • D. application

#####8. 以下对Java垃圾收集的描述中正确的是()

  • A. 发生垃圾回收时,如果一个对象被垃圾收集器认定为不可达,那么它一定会被垃圾回收器回收
  • B. 一个对象的finalize()方法可能会被垃圾收集器调用多次
  • C. 发生垃圾回收时,无论回收之后的内存是否足够,都会回收掉都被SoftReference的内存
  • D. 一个对象是否被PhantomReference引用完全不会对它的生命周期造成影响

#####9. 下列Java类中,哪个类不是线程安全的(D)

  • A. StringBuffer
  • B. Hashtable
  • C. Vector

ABC都是线程安全的。

#####10. 下列Java程序的输出是什么?(C)

public class Test{
	public static String output=””;
	public static void test(int i) {
		try {
			if (i == 0) {
				throw new Exception();
			}
			output += “a”;
		} catch (Exception e) {
			output += “b”;
			return ;
		} finally {
			output += “c”;
		}
		output += “d”;
	}
	public static void main(String args[]) {
		test(3);
		test(0);
		System.out.println(output);
	}
} * A. adb * B. acbc * C. acdbc * D. acdbcd

如果try执行了,finally不论有没有Exception都会被执行,而且即使之前return了还是会执行完再return。

#####11. 对于变量StringBuilder str = new StringBuilder(“搜狗Sogou”),下面描述正确的是(C)

  • A. str.length()的值为11
  • B. str.capacity()的值为11
  • C. str.indexOf(“S”)的值为2
  • D. str.charAt(6)为g

Java中char可以表示中文,且每个char占两个字节。该字符串长度为7个单位。catapcity是字符串长度加16,为23。S的下标为2(从0开始算)。


#####搜狗大厦

IMG-THUMBNAIL

#####搜狗的茶水间里等待二面

IMG-THUMBNAIL

#####旁边的Google中国

IMG-THUMBNAIL

原文链接:搜狗2014校园招聘笔试题,转载请注明来源!

EOF

欢迎加微信交流与吐槽



本站总访问量次; 本站访客数人次; 本文总阅读量次;