马的,下午14:00过去的时候,前台居然在发粽子,让我坐一下,等会儿HR会找人来面我。我在那里等了十来分钟。然后HR叫我过去,然后把我领到了一个小房间,给我端了杯水,叫我再坐一会,技术面试的人马上就来了。哥无聊在那里坐等看了会杂志,然后一个留了一小啜胡子的中年男子进来了(B,现在回想起来真的想问问他,你丫能力很强吗,哥也出个题目你丫,能在半个小时内做好吗,这个j家伙估计有33岁了)。哥心里做好了准备就等着有人来问我了。靠,他妈自我介绍了一下说,这次面试主要考编程技能。然后其他的啥都没问。介绍了一下大致情况之后,给我拿来一份题目。然后利用间隙的时间,跟哥用英文交流了一下。问了最近的项目情况,主要的日常工作内容,项目的开发环境。哥就用不是很流利的英文对答如流了。然后,说那就开始做那份材料。说看一下,然后把需要跟他讲一下。
其实这个考察内容并不是很难,就是读取一个txt文档到一个String字符串中,并打印出来,然后找出这个txt中出现了多少个word,重复的不算,并且计算出每个word出现的次数。可以上网。时间一个小时。
哥当时看到这个题目的时候,真的觉得是有点简单的。但是我居然没有计算出单词出现的次数。有点小紧张,但是还是很认真的在做了。。。
时间一分一秒过去,,,中间他妈的输入法还以一直双拼,哥想把它移除出输入法设置,JImmy大叔居然还不让,你丫还一直坐在我身边,你让我能全心投入到工作中吗。。。靠,他妈的哥做到3:15的时候,他居然说可以了。他看我用set来保存这些单词的时候,我不小心用了new Set,就说我java技术不行。我靠,你丫会不会看人哦。就因为这个就说java技术不扎实。靠,当时我一直还沉浸在为什么这么简单的问题都不能解答,而对自己的能力产生了严重的怀疑。丫的要是换成是现在,哥也出一道题目给你做下,首先你丫先把自己的拿到题目在20分钟内给我解决先,然后。。。还是等我想到出什么题目了,再去找他。哥不当面跟他对质真的心里很难受。。。Fuck
/**
* <br>
* do what you want to do and never stop it.
* <br>
*/
package org.luch.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/**
* @author Jack 2013-6-6 <br>
*/
public class pringWord {
public static String filename = "src/test.txt";
public static StringBuffer sb = null;
/**
* @param args
*/
public static void main(String[] args) {
txt2String(filename);
printSingleWord(sb.toString());
try {
wordCounter();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* 计算单词的出现次数
* @throws FileNotFoundException
*/
public static void wordCounter() throws FileNotFoundException{
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(new File(filename)));
String inputLine = null;
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
while((inputLine = br.readLine()) != null) {
String[] words = inputLine.split("[ \n\t\r.,;:!?(){}]");
for(int i = 0; i < words.length; i++) {
String key = words[i].toLowerCase();
if(key.length() > 0){
if(map.get(key) == null){
map.put(key, 1);
} else{
int times = map.get(key).intValue();
times++;
map.put(key, times);
}
}
}
}
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
for(Map.Entry<String, Integer> entry: entrySet){
System.out.println(entry.getKey() + "\t" + entry.getValue());
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 打印出txt文档中出现的每一个单词(重复的只打印一遍)
* @param txt
*/
public static void printSingleWord(String txt) {
String str;
if(txt == null || txt.length()==0){
return ;
}
str = txt.replaceAll(",", "");
str = str.replace(".", "");
String[] strs = str.split(" ");
Set set = new HashSet();
for(int i = 0; i < strs.length; i++) {
set.add(strs[i]);
}
String temp = set.toString();
temp = temp.substring(1, temp.length()-1);
String[] tems = temp.split(",");
for(int i = 0; i < tems.length; i++) {
System.out.println(tems[i]);
}
}
/**
* 把txt文档保存到String字符串中,并打印出来。
* @param filename
*/
public static void txt2String(String filename) {
try {
FileReader read = new FileReader(filename);
BufferedReader br = new BufferedReader(read);
String row;
StringBuffer bf = new StringBuffer();
while ((row = br.readLine()) != null) {
bf.append(row);
}
sb = bf;
System.out.println(bf.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
杭州博客软件面试流程:
查看简历-->HR通过查看简历来挑选面试的对象。
所以第一面是HR电话对你的面试,面试的内容往往都是英文的简单交流,简单阐述你的项目情况等等
第二面是:技术电面。往往是找个公司内部员工对你进行面试。这个就要看员工的具体背景,和他想了解你的一些背景,技术能力,知识面什么的。不过一般不外乎SSH,Ibatis,Java Core 。DataBase优化,设计模式等等。其实还是可以做一些准备的。
第三面:onsite interview。就是技术的一个现场面试。我没有想到会是项目开发。哈哈。。。。这块内容也还是可以准备的,因为不会要求做很难的东西,但是自己的平时还是要有积累的。
啦啦啦 。FUCK,
然后,自己继续努力啦。。。。