`
aniu2008
  • 浏览: 43553 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

迅雷亲历面经:笔试+上机+面试(完整JAVA面试题求解大讨论)

阅读更多
迅雷面试回来,用了整整一下午(不知道怎么说了,其中等待时间都快2小时了),自己感觉笔试和上机还可以,但技术面谈这一关答得不太好,现在再次感觉互联网公司与一般软件公司的区别了,其中一点就是互联网应用在性能上要求很高,谈了一个小时大部分题目感觉都在谈论性能问题,自己在方面一直是弱项,汗啊:(

仔细回忆了一下整个面试过程的题目,记录下来,希望大家多多给点意见讨论下啊

一、笔试题:
A)JAVA基础多项选择题,比较简单,略

B)问答:
1)ajax原理、如何实现刷新数据及优点?
2)门面模式的解释、适用场合?
3)写6个linux常用命令?
4)SQL语句题,较简单

C)编程:
1)有三个线程ID分别是A、B、C,请有多线编程实现,在屏幕上循环打印10次ABCABC…
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

二、上机题:
Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?

三、面试题:
1、说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?
2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?
3、mysql支持事务吗?DB存储引擎有哪些?
4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?
5、hibernate支持集群吗?如何实现集群?
6、tomcat 最多支持并发多少用户?
7、map原理,它是如何快速查找key的?map与set区别?
8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???
9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
10、Spring如何实现IOC与AOP的,说出实现原理?

期待大家的探讨,共同提高,多谢
分享到:
评论
37 楼 xl10230 2009-11-30  
reilost 写道
dajian 写道
xl10230 写道
reilost 写道
直接用正则[^a|b|3]....然后就得到不含ab3,这3个字符的字符串了..额..这是不是也不合格-.-因为使用了内置的正则api

能不能写出来给大家看看啊···



前面有例子了吧,但好像使用了内置的了

是啊-.-所以不合格,哈
    String regx="[^a|b|3]";
    String temp="6sabcsssfsfs33";
    Pattern p=Pattern.compile(regx);
    Matcher m=p.matcher(temp);
    if(m.find())
         System.out.print(m.group());




  if 应该换成while
36 楼 linyvlu 2009-11-30  
引用
7、map原理,它是如何快速查找key的?map与set区别?

map只是一个包含key,value对的表,在java库定义里就是一个接口,现在最常用的是HashMap以及TreeMap两种实现,两者实现原理以及如何快速查找key的方式完全不一样。而且并不排除还有其他的实现。
不知道这考题是想让笔试的人尽量列出所有可能还是想让笔试的人看出问题本身的错误,亦或者。。。。。
35 楼 reilost 2009-11-30  
dajian 写道
xl10230 写道
reilost 写道
直接用正则[^a|b|3]....然后就得到不含ab3,这3个字符的字符串了..额..这是不是也不合格-.-因为使用了内置的正则api

能不能写出来给大家看看啊···



前面有例子了吧,但好像使用了内置的了

是啊-.-所以不合格,哈
    String regx="[^a|b|3]";
    String temp="6sabcsssfsfs33";
    Pattern p=Pattern.compile(regx);
    Matcher m=p.matcher(temp);
    if(m.find())
         System.out.print(m.group());

34 楼 dajian 2009-11-30  
xl10230 写道
reilost 写道
直接用正则[^a|b|3]....然后就得到不含ab3,这3个字符的字符串了..额..这是不是也不合格-.-因为使用了内置的正则api

能不能写出来给大家看看啊···



前面有例子了吧,但好像使用了内置的了
33 楼 pangyq 2009-11-30  
直接拒绝笔试确实比较牛。。。。
32 楼 xl10230 2009-11-30  
reilost 写道
直接用正则[^a|b|3]....然后就得到不含ab3,这3个字符的字符串了..额..这是不是也不合格-.-因为使用了内置的正则api

能不能写出来给大家看看啊···
31 楼 putonyuer 2009-11-30  
Laynepeng 写道
毕业生吗?现在我基本上在电话联络时候就说明,我不参加笔试,笔试已经完全不行了。。。



太牛叉了
30 楼 reilost 2009-11-30  
直接用正则[^a|b|3]....然后就得到不含ab3,这3个字符的字符串了..额..这是不是也不合格-.-因为使用了内置的正则api
29 楼 szcjlssx 2009-11-30  
aniu2008 写道
lonelybug 写道
aniu2008 写道
egmacross 写道
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

这个不用内置的能有啥好方法吗?

楼上,这个问题我答得也不是很好,但我知道用正则表达式可以快速匹配,代码不知道怎么正则替换?另就是循环遍历,但效率低,呵呵

给你个正则查询的例子

import java.util.regex.*;

class Regex1{
 public static void main(String args[]) {
  String str="6sabcsssfsfs33;
  String regEx="ab3*";
  boolean result=Pattern.compile(regEx).matcher(str).find();
  System.out.println(result);
 }
}//ture



我很奇怪,用Java但是不能用内置的方法实现,那干什么还用Java语言呢!?

我觉得现在国内面世的时候,不是为了挑选更好的人才,而是想尽办法如何为难大家!


一语中的,其实JAVA的强大就体现在API上,但这道题的思路相反:(

另外,告诉你一个迅雷2010招聘海报上的题目:
2009的2009次方,所得数各位数字求和,结果继续求和,直到剩下一位数字,需要几次求和运算??

这道题还要求用JS做,JS的幂运算Math.pow计算这么大的数会返回Infinity,所以要解决必须自己将数字当成字符串,然后自己去一步步实现,虽然代码也不是很复杂,但不知道迅雷这道题有几个面试通过的,即使通过的又能怎样?
看看迅雷的首页的HTML,CSS,JS,我没感到写这代码的人多牛,而且JS看上去很低级,CSS还出了大堆错,能用JS算出2009的2009次方的人呢?迅雷又不会在首页上放个科学计算器!即使要计算这么大的数,客户端也会卡死了,相对而言,我会将表达式传回服务器端,用服务器端语言(如PHP,有高精度数学函数,实在不行还可以用C再写个扩展)去计算再返回结果,而JS的强大正体现在这种用途上
截取迅雷首页一个JS文件中一段:
//在prototype上加了一个方法还可以,可用不着再用另一个函数啊
String.prototype.LTrim = function(){return LTrim(this);} 
function LTrim(str) 
{ 
var i; 
for(i=0;i<str.length;i++) 
{ 
if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break; 
} 
str=str.substring(i,str.length); 
return str; 
}



//这个完全可以用散列表来替代,可它连switch语句都不想用,难道if else语句效率比用散列表高吗?
  if (g_restype == 'game') {
		url = url + "&restype=1" ;
  }
  else if (g_restype == 'soft') {
		url = url + "&restype=2" ;
  }
  else if (g_restype == 'book') {
		url = url + "&restype=3" ;
  }
  else if (g_restype == 'shouji') {
		url = url + "&restype=6" ;
  }
  else if (g_restype == 'web')
  {
	  //url = url + "&id=1" ;
  }

28 楼 aniu2008 2009-11-30  
lonelybug 写道
aniu2008 写道
egmacross 写道
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

这个不用内置的能有啥好方法吗?

楼上,这个问题我答得也不是很好,但我知道用正则表达式可以快速匹配,代码不知道怎么正则替换?另就是循环遍历,但效率低,呵呵

给你个正则查询的例子

import java.util.regex.*;

class Regex1{
 public static void main(String args[]) {
  String str="6sabcsssfsfs33;
  String regEx="ab3*";
  boolean result=Pattern.compile(regEx).matcher(str).find();
  System.out.println(result);
 }
}//ture



我很奇怪,用Java但是不能用内置的方法实现,那干什么还用Java语言呢!?

我觉得现在国内面世的时候,不是为了挑选更好的人才,而是想尽办法如何为难大家!


一语中的,其实JAVA的强大就体现在API上,但这道题的思路相反:(

另外,告诉你一个迅雷2010招聘海报上的题目:
2009的2009次方,所得数各位数字求和,结果继续求和,直到剩下一位数字,需要几次求和运算??
27 楼 aniu2008 2009-11-30  
wfwkiss 写道
public class GoodCode{
	//假如有字符串“6sabcsssfsfs33” ,
	//用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)? 
	
	public void isGood(){
		String str = "6sabcsssfsfs33";
		char c1 ='a';
		char c2 ='b';
		char c3 ='3';
		
		char[] c = str.toCharArray();
		StringBuilder sl = new StringBuilder();
		for(char temp:c){
			if(temp != c1 && temp !=c2 && temp !=c3)
				sl.append(temp);
		}
		
		System.out.println(sl.toString());
		
	}
	
	public static void main(String[] args){
		GoodCode g = new GoodCode();
		g.isGood();
	}
}



这是种好方法,呵呵 
26 楼 lonelybug 2009-11-30  
aniu2008 写道
egmacross 写道
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

这个不用内置的能有啥好方法吗?

楼上,这个问题我答得也不是很好,但我知道用正则表达式可以快速匹配,代码不知道怎么正则替换?另就是循环遍历,但效率低,呵呵

给你个正则查询的例子

import java.util.regex.*;

class Regex1{
 public static void main(String args[]) {
  String str="6sabcsssfsfs33;
  String regEx="ab3*";
  boolean result=Pattern.compile(regEx).matcher(str).find();
  System.out.println(result);
 }
}//ture



我很奇怪,用Java但是不能用内置的方法实现,那干什么还用Java语言呢!?

我觉得现在国内面世的时候,不是为了挑选更好的人才,而是想尽办法如何为难大家!
25 楼 wfwkiss 2009-11-30  
public class GoodCode{
	//假如有字符串“6sabcsssfsfs33” ,
	//用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)? 
	
	public void isGood(){
		String str = "6sabcsssfsfs33";
		char c1 ='a';
		char c2 ='b';
		char c3 ='3';
		
		char[] c = str.toCharArray();
		StringBuilder sl = new StringBuilder();
		for(char temp:c){
			if(temp != c1 && temp !=c2 && temp !=c3)
				sl.append(temp);
		}
		
		System.out.println(sl.toString());
		
	}
	
	public static void main(String[] args){
		GoodCode g = new GoodCode();
		g.isGood();
	}
}

24 楼 aniu2008 2009-11-30  
给大家推荐一篇实现AOP原理的文章:
Spring从菜鸟到高手(一)实现AOP的基本原理
http://tonyaction.blog.51cto.com/227462/42039
23 楼 liji0307 2009-11-30  
aniu2008 写道
linkobe 写道
diaodou 写道
C 2) 可以用这个简单方法。
上机题是一样的方法,开个256的数组,count[256],表示每个字母,数字等的出现次数。
class Remove{
 public static void main(String args[]) {
  String str="6sabcsssfsfs33;
    boolean removeChars[256] = {true};
    removeChars['a'] = false;
    removeChars['b'] = false;
    removeChars['3'] = false;
  StringBuffer sb = new StringBuffer();
    for (char ch: str) {
        if (!removeChars[ch]) sb.append(ch);
    }
    String result = sb.toString();
 }
}



错了吧,楼主的意思是干掉 'ab3'这种连续的字符,不是一个个干掉吧,不然太简单了。

如果要干掉'ab3'连续字符,用kmp模式匹配就可以了吧~~



是非连续字符的

简单了解了一下KMP算法,但这个有点太复杂了吧,http://lemonmilk.blog.51cto.com/499577/198209

利用正则表达式进行分组,然后在重新组装,会快些吧。
22 楼 aniu2008 2009-11-30  
Laynepeng 写道
aniu2008 写道
Laynepeng 写道
毕业生吗?现在我基本上在电话联络时候就说明,我不参加笔试,笔试已经完全不行了。。。

汗,工作几年了,只不过没互联网公司经验!你是毕业生吧??


我也不是毕业生了,老了。。。

就像上面那个KMP,很多年前考高程的时候是能简单写出来的;现在再写,那就肯定要Google出来拿来改改了。。

呵呵,笔试是他们公司的规则,都要过这关了,你真强,直接拒笔试,:)
21 楼 Laynepeng 2009-11-30  
aniu2008 写道
Laynepeng 写道
毕业生吗?现在我基本上在电话联络时候就说明,我不参加笔试,笔试已经完全不行了。。。

汗,工作几年了,只不过没互联网公司经验!你是毕业生吧??


我也不是毕业生了,老了。。。

就像上面那个KMP,很多年前考高程的时候是能简单写出来的;现在再写,那就肯定要Google出来拿来改改了。。
20 楼 case0079 2009-11-29  
如果包含汉字的话,造这么大一个布尔集合未免太浪费空间了。
19 楼 aniu2008 2009-11-29  
case0079 写道
确实是HASH速度快。
只是我一般不自觉的就认为字符串就是包含汉字在内的。

呵呵,那有区别吗?
18 楼 case0079 2009-11-29  
确实是HASH速度快。
只是我一般不自觉的就认为字符串就是包含汉字在内的。

相关推荐

    javaee笔试题-Notes-For-Interviews:Java-Web开发-后台开发面试笔记

    有很多很有趣的知识点,但是以面试题为主,还是有点把自己当速成:chicken:的感觉 然后主要看面试Blog,Rico的博客, 数据库原理,操作系统,计算机网络,第一次看JUC包,之前谁管过这个,真没用过锁 第一场面试之前...

    必联采购网java程序员笔试题.doc

    必联采购网的Java程序员笔试题涉及到多个Java Web开发的核心知识点,这些题目旨在考察应聘者的编程基础、异常处理能力、前端知识、框架理解以及实际项目经验。下面是对这些知识点的详细说明: 1. **Java连接数据库...

    327事件亲历者:谈谈做庄与救市,本次救市资金怎样利用?.doc.pdf

    1995年3月27日,中国国债期货市场发生的一起重大事件——327事件,至今仍被广泛讨论。此事件不仅揭示了市场操纵和监管漏洞,也为后来的投资者和监管者提供了宝贵的经验教训。而在2015年中国股市大幅波动时,政府及...

    亲历分享:自学编程的致命误区,你中招了没?在职程序员聊聊自学时如何防止入坑

    亲历分享_自学编程的致命误区,你中招了没_在职程序员聊聊自学时如何防止入坑

    中软笔试题目--亲历

    中软笔试题目是指中软公司的笔试题目,该公司是中国最大的软件公司之一,笔试题目涵盖了软件开发、数据库、算法、软件工程、网络模型、面向对象、编程语言等多个方面,本文将对笔试题目的各个部分进行概括和分析。...

    亲历:果敢战火下的中缅边民.docx

    亲历:果敢战火下的中缅边民.docx

    俄罗斯方块游戏源码-Java

    深度实战:全面覆盖游戏逻辑、图形渲染、事件处理等核心技术点,让您亲历从零到一完整的游戏开发流程。 丰富玩法:原汁原味还原经典模式,同时具备流畅的方块旋转、平移、锁定功能,更有刺激的消除行分计算系统,...

    亲历:华为IPD.docx

    《亲历华为IPD:理解与实践》 集成产品开发(IPD,Integrated Product Development)是华为公司在2003年引入的一种先进的产品开发管理模式,源自IBM的改革实践。IPD的核心理念在于通过跨部门、跨职能的团队协作,...

    清华大学java实验指导

    3. **JavaApplication开发**:通过示例程序(如“Hello World”),学生将亲历程序的编写、保存、编译与运行全过程。 4. **JavaApplet初步**:虽然未详述,但介绍Applet的基本结构与开发流程,为更复杂的应用打下...

    亲历:华为IPD.pdf

    【集成产品开发(IPD)】是华为引入的一种先进的产品开发模式,源于IBM的企业改革实践。IPD的核心理念是强调跨部门协作和整体责任,旨在提高产品研发效率和产品质量,确保产品的市场效益。以下是对IPD的详细阐述: ...

    java-工程师就业前景.doc

    全球有25亿Java器件运行着Java,450多万Java开发者活泼在地球的每个角落,数以千万计的Web用户每次上网都亲历Java的威力。 Java软件工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是...

    打造Facebook:亲历Facebook爆发的5年

    这本书的书名——《打造Facebook:亲历Facebook爆发的5年》很嚣张,谁有资格可以说这句话呢,当然,扎克伯格最有资格,但他不会亲自来告诉你,至少从目前的情况来看,近几年都不大可能。而且,这不是一个人的公司。...

    2021-2022年收藏的精品资料亲历:一个重点本科生在国有银行的五年.doc

    精品教育教学资料

    亲历基本OSGI实例,进入另番思维领域(转)----包括打包发布为可执行文件

    OSGi是一种模块化系统和Java服务框架,它允许在运行时动态地发现、加载、卸载和管理软件组件,极大地增强了Java应用程序的灵活性和可维护性。 在描述中,虽然没有提供具体的信息,但我们可以推断这是一篇个人经验...

    《亲历投行——中国投行的若干传言与真相》ppt读书笔记.rar

    《亲历投行——中国投行的若干传言与真相》是一本深度揭示中国投资银行业内幕的书籍,作者通过自己的亲身经历,为读者揭开了这个行业神秘的面纱。这份PPT读书笔记,无疑是深入理解中国投行生态的重要参考资料,对于...

    亲历“精细化营销”doc14.doc

    亲历“精细化营销”doc14.doc

    亲历湖南大学复试全过程

    亲历湖南大学复试全过程 亲历湖南大学复试全过程 亲历湖南大学复试全过程

    我亲历的改革开放征文:回家的路.pdf

    这一系列政策极大地促进了中国经济的快速增长。 2. **交通基础设施发展**:文章以作者回家的旅程为例,展示了从1996年至2020年间,从武汉到荆门的交通方式从最初的汽车、火车,到高速公路、航空及即将建成的高铁,...

    银行贷款亲历.docx

    ### 银行贷款亲历知识点详述 #### 一、银行贷款背景及重要性 银行贷款作为一种传统的企业融资方式,对于企业发展具有重要的意义。一方面,它可以为企业提供必要的资金支持,帮助企业扩大生产规模、增加研发投入...

Global site tag (gtag.js) - Google Analytics