论坛首页 招聘求职论坛

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

浏览 90212 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-12-02  
cranehovers 写道
aniu2008 写道
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();
 }
}


高人啊,应该就是这个方法了

 

太强了 我看了好久才看懂  看来菜鸟和大牛区别就是不同……

 

这个能运行吗?怎么我的运行不了?

0 请登录后投票
   发表时间:2009-12-03  
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


我觉得这个不算效率吧 使用希尔排序貌似是最快速的!
0 请登录后投票
   发表时间:2009-12-03  
1:Ajax的优点! 
大家都知道就不多说!
2:门面模式
由于service是一层很薄弱的概念,当需求复杂到需要多个service协作并且牵扯到事物等策略时使用门面模式可以最大程度简化业务对象的复杂性!门面相当于是针对专门业务的客服小姐。
3:linux命令
随便写6个吧
4:SQL
PASS

1)有三个线程ID分别是A、B、C,请有多线编程实现,在屏幕上循环打印10次ABCABC…
1:线程中有锁 2:引入队列 3:wait(),notify()都可以实现
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?
看这个字符串的格式 我觉得希尔排序速度最快
3)、说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?
不清楚。
4、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?
把数据库分布,然后数据存放在分布表中。
5. mysql支持事务吗?DB存储引擎有哪些?
支持! 第二个没怎么使用过
6. mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?
原理大家都知道,我觉得缺点是m的职责太弱了,c的职责太强了。需要重新划分。我觉得改造的话应该把M的职责合成到C中,然后重新定义C,M包含了所有页面的数据和逻辑处理,c则是专门的业务层面,里面有数据,业务和门面。
7.hibernate支持集群吗?如何实现集群?
配置。
8.tomcat 最多支持并发多少用户?
30~100
9、map原理,它是如何快速查找key的?map与set区别?
哈希算法! 重复对象和线程安全。
10.描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???
典型的数据压缩算法! 两个矩阵 用户矩阵 和 记录矩阵 去掉重复字段,去掉重复电影,然后矩阵相乘。
11.在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?
短时间想不通!
12.Spring如何实现IOC与AOP的,说出实现原理?
Danamic Proxy!
0 请登录后投票
   发表时间:2009-12-04  
能运行成功吗?
0 请登录后投票
   发表时间:2009-12-04  
hite 写道
linyvlu 写道
		StringBuilder sb = new StringBuilder("6sabcsssfsfs33");
		sb.delete(2, 4);
		sb.delete(sb.length()-2, sb.length());


不错,返璞归真!

这效率最快。
0 请登录后投票
   发表时间:2009-12-07  
piao16702155 写道
不解


boolean removeChars[256] = {true}; 创建数组可以加数字吗

for (char ch: str) // 里面是数组名吧


楼主估计在逗他们玩呢, String在JAVA里不能直接用作char数组~ 不能这么遍历~
0 请登录后投票
   发表时间:2009-12-07  
jupiterpan 写道
piao16702155 写道
不解


boolean removeChars[256] = {true}; 创建数组可以加数字吗

for (char ch: str) // 里面是数组名吧


楼主估计在逗他们玩呢, String在JAVA里不能直接用作char数组~ 不能这么遍历~



唉,那个代码是随手写的,重要的是思想,我把调试好的代码贴一下吧:
public class Test {
	public static void main(String args[]) { 
		String str="6sabcsssfsfs33";
		boolean[] removeChars = new boolean[256];
		Arrays.fill(removeChars, false);
		removeChars['a'] = true;
		removeChars['b'] = true;
		removeChars['3'] = true;
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < str.length(); i++) {
			char ch = str.charAt(i);
		    if (!removeChars[ch]) sb.append(ch);
		}
		String result = sb.toString();
		System.out.println(result);
	} 
}
0 请登录后投票
   发表时间:2009-12-07  
2)假如有字符串“6sabcsssfsfs33” ,用最有快速的方法去掉字符“ab3”,不能用java内置字符串方法(indeOf,substring,replaceAll等)?

------------------------------------------------------------------
String value = "6sab3csssfsfs33";
        StringBuffer buffer = new StringBuffer();
        for(int i=0;i<value.length();i++){
            char c = value.charAt(i);
            if(c=='a'){
                if(value.charAt(i+1)=='b'){
                    if(value.charAt(i+2)=='3'){
                        i+=2;
                        continue;
                    }
                }
            }
            buffer.append(c);
        }
        System.out.println(buffer.toString());

0 请登录后投票
   发表时间:2009-12-07  
mooninday 写道
不知道循环打印ABCABC那题怎解呀?
请LZ谈谈吧

用线程同步
0 请登录后投票
   发表时间:2009-12-07  
diaodou 写道
jupiterpan 写道
piao16702155 写道
不解


boolean removeChars[256] = {true}; 创建数组可以加数字吗

for (char ch: str) // 里面是数组名吧


楼主估计在逗他们玩呢, String在JAVA里不能直接用作char数组~ 不能这么遍历~



唉,那个代码是随手写的,重要的是思想,我把调试好的代码贴一下吧:
public class Test {
	public static void main(String args[]) { 
		String str="6sabcsssfsfs33";
		boolean[] removeChars = new boolean[256];
		Arrays.fill(removeChars, false);
		removeChars['a'] = true;
		removeChars['b'] = true;
		removeChars['3'] = true;
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < str.length(); i++) {
			char ch = str.charAt(i);
		    if (!removeChars[ch]) sb.append(ch);
		}
		String result = sb.toString();
		System.out.println(result);
	} 
}



思想看懂了。只是刚接触java。有点教条
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics