题记:开个博客,记录一下每次面试问到的一些问题,但愿能够通过这些问题,最终可以找到一份满意的工作。
1 2015年8.14 网易 --测试开发
主要是根据项目中的问,一共持续40分钟。昏昏沉沉的午休中,突然接到一个电话,先让我自我介绍,然后自我介绍完了之后,开始问专业问题,感觉也没有什么很专业的,就是问到的是项目中的。
(1)先介绍思科的项目,然后我顺嘴说了下angularjs,然后让我介绍一下angularjs,以angularjs比其他框架的优势,我就瞎扯了一下,说用到了MVC模式
(2)问到了,我们做的web是什么框架,介绍一下servlet和jsp,jsp没用到,主要是用到了servlet,这部分在公司经常用,就瞎扯淡了一下。
(3)然后又说道android的几个项目,问到了android的四个组件,然后各自介绍下
(4)我就使劲扯我做的小项目,然后问到当时为什么要做app,初衷是什么。
(5)就这样很快就过去了,最后问我有什么问题,我就一个劲的感谢给我打电话,毕竟昨天参与了公司的简历培训,发现了简历中存在了很多问题,
2 215年8月14 腾讯游戏 --测试开发
(1)先介绍思科的项目,发现实习经历还是蛮重要的。
(2)问了下sql和nosql的区别,为什么要用nosql和sql
Insert方面MongoDB比SQL Server快十倍左右,Update快20倍左右,Select快2倍左右。mongodb存储量很大可以达到P级别,10TB足够用
数据表和数据集,对于存储的大多是文字类的消息是可以用no-sql用类似json的Bson格式存储数据,如果要是存储一片博客的话,包括内容和评论那么可能nosql只在一个document里就存储了,而sql则可能要存储在几个变中
预定义结构VS.动态结构.sql需要预定义好这样的数据结构,后期如果再修改会很麻烦,而nosql是可以动态数据存储。
结构化查询和非结构化查询。关系型表中主键的概念对应非关系存储中的文档Id。SQL数据库使用预定义优化方式(比如列索引定义)帮助加速查询操作,而NoSQL数据库采用更简单而精确的数据访问模式。http://www.searchdatabase.com.cn/showcontent_86231.htm
(3)行存储和列存储的区别 http://www.infoq.com/cn/articles/bigdata-store-choose
这次就面试问了有15分钟,然后就说大概知道我的情况了,如果有消息会有HR通知我的。感觉有点悲剧。
3 2015年8月17 京东 京东到家O2O --软件开发
(1)问了下这些java中用到的集合都有哪些,各自的方法,以及arraylist 和 linklist的区别,以及使用的场景。
http://www.cnblogs.com/skywang12345/p/3308513.html
http://pengcqu.iteye.com/blog/502676
当操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。
问到了Vector和ArrayList区别
(2)面向对象的三大特性
(3)线程的实现方式有哪些,以及线程间出现的问题,死锁然后解决的方法
(4)问到了解ssh框架吗?我就不了解啊。然后就没有然后了。结果感觉不太有希望。
大概就问了不到20分钟,感觉跪了,要。。这次回答的不好,java看的还是少。
4 2015年 9月24日华为
5 2015年 9月24日中兴
24日中午中兴一面:主要是问了cisco的实习项目,然后问到了snmp,介绍snmp,然后问道snmp如果java中调用walk方法如果失败的话会response会返回什么,这个没回答上来。 还有如何保证,在一个是snmp控制下,然后有一个cli再去控制的话,怎么保证一个去控制,面试官是说到用信号量去控制。大概就问了这些,其他主要是在问项目。6 2015年 9月23日 腾讯
各种帮助下,进了腾讯一面,然后是在宜山路650号,神旺大酒店,离着六院也挺近的。感觉比较土豪,面试官上来就开始让写程序,统计一篇文章中某个单词出现的次数,不能用类库!!!!!!有点坑,用java不能用类库,怎么去写,还是把c语言写好。 快速排序要好好写写,Java垃圾回收机制,多进程通信底层,作为通信的优势,系统测试和自动化测试等,谈谈TCP的理解等,谈谈对多态的理解。还有个动态绑定!!7 2015年 10月8日 飞牛网
public class IkmTest {
public int display(){
try{
return 0/25;
}
catch(Exception e){
System.out.println("catch");
}
finally{
System.out.println("finally");
}
return 2;
}
//try中有return ,也是先执行 return 后面的语句完了之后,不立马return,而是去执行finally中的语句。
public static void main (String[] args){
IkmTest t = new IkmTest();
System.out.println(t.display());
}
}
//输出
//finally
//0
(2)关于普通代码块、构造代码块、静态代码块执行顺序问题
public class Child extends Father{
public String data="child";
{
System.out.println("child 的构造块");
}
static{
System.out.println("child的静态代码块");
}
public Child(){
System.out.println("child的构造方法");
}
public static void main (String[] args){
Child t = new Child();
System.out.println(t.getName());
/* 在子类没有重写父类中的方法时,调用的是父类中的方法,
* 在调用方法时,总是先去找有没有子类扩展的方法,如果没有就去父类中找,
* 这里子类并没有扩展父类的方法。
*/
}
}
class Father{
private String data="father";
{
System.out.println("Father 的构造块");
}
static{
System.out.println("Father的静态代码块");
}
public Father(){
System.out.println("Father的构造方法");
}
public String getName(){
return data;
}
}
输出:
Father的构造方法
child 的构造块
child的构造方法
father