写在前面的话
找工作,海投海投,的确,投了不知道多少家.也面了好多家,不过很多一开始都是一面挂,所以就当参考吧,其实不管怎么问项目,对于应届生来说,还是很看重基础的,项目也就是问其中涉及到的知识点,然后开始发散,当然算法也是经常涉及的,智力题之类的就靠临场发挥了。
我是渣渣,所以仅仅下面做个罗列,也算是个备忘录吧,想要知道答案的自行百度,我就不误人子弟了。
迟到的面经
搜狗
1.多线程:线程创建的方式,启动的方式,如何关闭,返回值。
2.tcp/ip的三次握手,Java实现该流程,幽灵线程的作用。
3.套接字通信相关,我没涉及,面试官也没有深究了。
4.linux下文件的拷贝(大致是一个非常大的文件,拷贝很耗时,能否用多线程的知识来加快io的效率),多线程实现,我说的是分块,但是其中的细节没有讲清楚,面试官多次引导,大方向对了。FileRandomAccess
5.字符串s1剔除另一个字符串s2中的字符后输出,考察代码是否考虑到多方面因素和代码是否存在bug,改进(快慢指针)
6.最优解的问题:【1,2】,【3,4】。。。 可以交换数组内部元素的顺序,数组之间顺序不能变,保证相邻元素乘积之和最小。
华为
技术面:
1.介绍项目
2.安卓的布局layout
3.如何处理oom
4.arraylist扩容
5.自己实现hashmap
综合面:
1.聊项目、实验室、方向、排名等。
宜信
1.介绍项目
2.算法:二叉排序树的后续遍历(其实就是根据后序序列判断是否是二叉排序树,面试官愣是没有解释清楚,拿这个试题册在问,就说了个名字,剑指offer上每个算法都有个名字,结果我也愣住了,下次注意,不清楚的一定要问)、统计单词出现次数(问我改进,我反问,他说hashset能实现吗?我说不能,结果他说好象是不能,我问他还有其他的方法吗?他说很多,呵呵呵)
3.组成原理相关题目(忘了)
4.反射加载机制
5.设计模式用过哪些
6.ssh
7.hashmap的实现
8.set的特点
新美大
一面:
1.hashmap、hashtable区别。使用场合。
2.acid是啥,结果面试官接了个电话就忘记问这个了,跳过
3.合并两个list,按照第一个list中的元素出现4个后第二个中的元素出现一个这样的顺序。场景是图片和视频文件的合并,这两者都是以字符串形式出现。
4.智力题,分面粉:7+2g砝码,和140g面粉,面粉分成50+90,分好的面粉可以作为砝码。
因为写代码时间比较久所以就没有问其他的了。
二面:
1.介绍项目:关于消息通信方面的解释。
2.tcp的三次握手和四次回收,为什么停顿2msl?我忘记了,面试官在引导,说这个不用记,推导就好。
3.操作系统的线程和进程的区别。
4.非关系型数据库怎么用的。如何保存你的数据:json
5.找出出现次数为1的那个数(剑指offer):异或。
6.操作系统kill父进程和子进程
7.关机时候出现错误弹框,此时操作系统都遇到了哪些问题。
三面:
1.项目:关于消息提醒功能实现。
2.统计前10个高频汉字。
3.散列函数的设计,这个很抽象,然后就有点愣住,还是自己太low。
4.linux统计记录条数的shell命令。
。。。等等
珍爱网
1.介绍项目
2.分布式session的共享与同步
3.线程间同步方式
4.hashmap的实现方式
5.lock的原理,源码
6.数据库优化、索引建立原则、优劣
7.看过啥书
8.三大框架
拼多多
1.线程同步的方式
2.volatile关键字的作用
3.Throwable,写出其子类,相关的内容,包括运行时异常等,捕获,很多博客都有。
4.父子类异常的声明,范围。继承的时候,重写方法。
饿了么
1.数据库的join,大小表的join
2.jvm运行时区域,方法的定义的存放以及局部变量的存放。
3.hashmap的底层实现。
4.bitmap oom解决。
顺丰科技
一面:
1.介绍项目:消息传输的时候如果出现丢包的解决方案。
2.为啥不用json,而用xml
3.广播介绍
4.hashmap的介绍
5.并发包(我没答)
6.jdk1.8的新特性
二面:
1.项目介绍
2.项目和即得产品的比较
3.为什么不用市面上的产品
4.遇到最大的问题是技术上的还是非技术上的
5.平时学习的途径
6.以后项目开展时候的思路,如何避免上面提到的问题
ibm
电话面试:
1.介绍项目
2.数据库的范式。然后让我具体举例子说明三大范式
3.大数据方面的问题,为什么没有涉及,自己没研究吗?当时很诚实的说了没有。
4.设计模式,什么地方用到的单例模式,怎么用的。
5.数据库的性能调优,怎么设计数据表的,服务器端的调优。
6.介绍为什么想来ibm,英文。
远景能源
1.介绍项目。
2.hashmap实现
3.其他并发包
4.synchronized和lock的区别
5.java框架,非ssh
6.jni
7.mysql存储引擎,myisam和innodb区别
4399
技术面:
1.介绍项目
2.项目相关的提问
3.mysql查询大量数据的优化
4.B+树
5.关于游戏的一点看法
6.java内存模型。垃圾回收
中兴
技术面:
1.动态链表和静态链表区别:一时没想起来静态链表是啥,就说了动态链表的功能。
2.Collection的层次图(List Set之类的)
3.设计模式画出观察者模式的图解,解释。
4.单例模式写一种。
5.二叉排序树的调整RR\RL\LR\LL,就其中一种进行调整,画出调整后的图。
6.hashmap在项目中哪里用到了。
7.泛型理解和作用。
8.你的项目里面的分工。
综合面:
1.英文介绍你的家乡
2.遇到最大的挫折和解决
3.如果上级领导不熟悉业务怎么办
4.谈谈你所认为的上级印象
5.如果让你带领团队来进行开发,怎么做
6.bat和中兴华为怎么选(搞笑)
7.薪资待遇
恒生电子
一面:群面(2面试官 8学生)
1.自我介绍2分钟
2.讲一下自己的经历,主要讲项目,5分钟
3.提问
南京某所
群面7V1
1.自我介绍
2.介绍项目
3.有没有用过中间件
4.java和c++里面的指针区别
5.你认为java最应该给你提供什么功能
6.你的笔试为什么链表题目没有得到满分
挖财
电话面
1.linkedHashMap的原理,数组的作用
2.innodb和myisam的区别
3.如何解决死锁
4.线程从创建到销毁有哪些状态
5.jvm的性能调优
6.线程池的作用,和参数
7.分布式节点挂了,如何减小再hash的次数
8.4个1g大文件找出top k
其他不记得了。
51信用卡管家
技术面:
1.有没有考虑到消息传送的安全性
2.对称加密和非对称加密的了解
3.md5,如何防止撞库,我用的是二次md5
4.你认为java哪一块学的比较好
5.数据结构:hashmap的原理,扩容,扩容后的再hash
6.jvm垃圾收集器 cms,简单说了一下并发执行。
7.你还了解其他什么垃圾收集器serial、serial old、parallel、g1
8.年轻代和老年代分别用什么垃圾回收算法
9.标记清除和标记整理有什么区别,各用在什么场合
10.你有没有对书上的相关调优和异常等测试,如何保证对象不被释放。
11.如何在o(n)的时间复杂度和o(1)的空间复杂度内找到链表的中间节点
12.红黑树和二叉平衡树的区别
13.full gc和young gc的区别
等等
hr面:
1.自我介绍
2.刚刚和面试官聊得怎么样,对公司的了解
3.学习成绩。
4.平时爱好、生活作息。
5.稍微说了一下项目。
6.项目中遇到问题了,怎么解决。
7.薪资要求。
结语
offer有了,虽然不及很多大牛,但是是自己努力的成果,性价比还行,而且校招两个月,经历了很多,成长了很多,继续加油,因为自己还很菜。一直在路上。