您的位置:首页 > 职场人生

面试杂谈

2016-05-03 10:12 344 查看
今天和大家分享一下我的面试经历吧,希望能对你有所帮助! BTW: bo主已经收到百度offer 饿了么offer等 最终选择百度

bo主北邮研究僧,过完年后来三月份就开始写简历 刷各种题,为了找到好实习而准备着。我们实验室主要做SDN+光,语言大多都是java所以自然就想去互联网实习增长专业技能呗。找实习之前就狂刷leetcode、poj、牛客,各种java的高级特性等等。有些东西你平时做项目不一定用到 但是面试的时候肯定会问 属于基础技能 必须要牢固 不能错。bo主是大概四月中旬最终确定去百度 懒到现在写一写面经供大家参考吧

滴滴(研发工程师):两面:面试官是个女的 聊得还可以 第一次参加互联网面试 有点小紧张 先是自我介绍,1. 然后就开始一边看我的简历 一边问我 先是问我的项目方面的情况 这点很重要 一定要和面试官找到共同的点 这样聊起来就比较顺畅 有项目经历的一定要用最简洁的话把项目说明白 你做的项目不一定是互联网感兴趣的 但是你写项目代码的时候 用过什么语言技术 用了什么高级特性 体系框架等等一定要讲明白 这点非常重要 这样才能让面试官对你差生兴趣。(我说了java
javaIO 多线程 JVM OSGi Maven Jersey 等等)

2.java的高级特性 说下垃圾回收机制原理 与 常见的内存溢出原因

3.出个算法题 用java写出最大子数组和

4.有个string字符串 有个算法传入一个string 写出你能知道的所有bug结果 验证算法

5.java的开源框架都用过什么

6.智力题。。。忘记了

7.线程与进程的区别

8、Linux的操作命令 grep vim

9.TCP与UDP区别 传输层通信流程

10.用java写出传入字符串输出整型数

11.写出快速排序算法 并说出其时间复杂度

腾讯(北京)(基础研究部-开发工程师)官网投的简历,之后收到了面试邀请就去参加了

一面 :1、介绍自己

2、基于java的开源项目都做过什么 (各种)

3、写一个线程安全队列

4、java中的同步机制有几种 几种锁 怎么回收对象

5、智力题。。。不描述了 其实还是写代码

6、用c++写代码还可以吗 (bo主真心还给老师了,但是也写了几个简单的算法)

7、TCP与UDP的区别(这个一定要答的很仔细才行,不然面试官就一直回问的很细)

8、HTTP协议的报文是什么样的 写出来 并说出@GET与@POST的原理与区别 怎么解析HTTP协议

VMware(北京研发中心)

一面:1、介绍自己

2、开始聊项目了 VMware就是作云计算 虚拟化 所以和我实验室做的比较像 聊的不错

3、出了一个算法+智力题 不用写代码 但是说想法 我们说了很久、、、

4、说出java的内部类有几种 优缺点

5、Linux 操作命令

6、osgi的bundle开发 及运行时流程 maven的生命周期

二面:java的多线程 线程池 notify与notifyAll区别等等

然后就开始聊项目了。。。 虚拟化 SDN等等

饿了么(上海总部-java研发工程师):电话面: java内存机制(问的很细)、http协议、都用过什么算法、等等 第二天就收到offer了

百度:最重要的要登场了!!! bo主最想去的

一面:1.说下快排及时间复杂度计算方式

2.HashMap与HashTable的区别 Hash表示怎么形成的 HashCode原理

3、HashMap存入数据时 底层的实现原理

4、java的垃圾回收机制 如何回收对象 怎么判断对象或者引用不可用 可以被回收

5、Linux操作命令 简单说下对Vim的理解 scp限速

6、sleep与wait的区别 notify与notifyall的区别

7、maven的生命周期 开源框架都用过什么

8、TCP三次握手和四次挥手(问的很细)

9、智力题 说想法

二面:1.介绍自己

2、用数据库写代码

3、出了一道java的垃圾回收题 对象相互引用 其实这题就是考你回收机制掌握程度 多看看深入理解Java虚拟机

4、都会什么脚本语言 php会不会? 用php写代码

5、反转一个string 要求时间复杂度与空间复杂度

7、java异常处理机制 java类加载器工作流程

6、手机百度开发与测试工具

7、linux grep命令 给定一个表 查出关键字 正则表达式 Linux的文件操作命令

8、TCP三次握手机制

9、一道智力题偏向于算法 递增数组 有三个 元素数目不想同 用代码实现分类 两个一组 三个一组。。。。等等 记不清了

9、还有一些问题 bo主记不大清了 大多问的都是百度质量部的有关的问题

三面:部门经理面试 问了一些java相关 Linux相关 实习时间等等

hr面:实习时间 毕业时间 为什么选择百度 聊未来等等

然后就收到百度offer了 嘿嘿

我看大家刷题刷的我心好累,明明刷题是最简单的,你们怎么能把它搞的这么复杂==

算法题是技术面试的重点,绝对是重点。简单题要求你能一遍写的bug free。实话,好像也没考过难题。

1.首先,打开leetcode那个网站之后在框里直接写,不要用IDE了。

2.其次,java流你需要了解容器最基本的用法和函数。C++流你需要了解STL的用法和泛型算法。(这是最基本的)

java:https://docs.oracle.com/javase/7/docs/api/overview-summary.html

C++: http://www.cplusplus.com/

3.按照分类刷题,就是右下角tag。

绝对不要一开始就点开数组,为什么,数组是什么都能用的,什么DP啦,贪心啦都能用数组。

我推荐第一个分类是链表,所有的链表题是有模版的,不管你做什么题,你都需要考虑三个因素:判头判尾判空。

hard难度的题目不想想就先放过,easy和medium难度的需要掌握,尤其是easy,面试要是考到原题一定要写的bug free.

easy和medium难度要是想不出来就看答案,看完答案AC之后这还不算完事,你第二天一定要不看答案自己写一遍。要是忘了就再看答案,然后第三天以此类推。

hard难度不要强求自己啦,你要是真能easy和medium全通了,找个差不多的好工作也根本不是啥问题。

4.看discuss很重要(选most votes),不要网上搜解题报告,要是discuss的code看不懂了再搜,看看有什么好的解释来帮助你理解这个问题。

还有一个重点就是一定要反复记忆,这个跟背单词没有任何区别,第一遍绝对是最痛苦的,如果你想来第二遍,你就会发现好多题都会了,都能写的bug free了。

要是想调试的话,直接在函数中间cout那个变量,leetcode是支持中间打印东西的。

还有一条,能写的短的函数一定要写的短。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: