春招实习面经(Java开发)

        做过美团,网易,京东,腾讯,百度,cvte,51信用卡,小米,爱奇艺等等笔试,
        美团还是笔试状态,应该是笔试没过,
        网易笔试未通过
        京东初试官筛选未通过
        腾讯之前是初试状态,但是五一假期后直接给我挂了(面都没面过)
        百度、cvte笔试未通过,51信用卡5月10号一面,爱奇艺三面结束
        小米正式offer
        总结:开始简历没做好,内推都没面试过,太着急了,笔试和面试都没怎么准备,导致bat网易美团京东连面试机会都没有
        算法和数据结构才是重点,面试中有这些环节的,只要代码写出来,而且是最优的,肯定会过得(我经历的是)
        说了一堆废话,还是发我这个菜鸟的面经吧
        

我感觉看别人的面经只是增长知识,给自己自信,真正想要成长还是要自己去体验面试的过程。

阿里面试

       一面

        人生的第一次给了阿里,我是周一收到面试通知,周四(2018.3.1)上午10点多开始的面试,在这期间看了好多阿里的面经,感觉很难,很高大上,为此我整整两天都在看一些这种问题。但是实际上差距还是很大的,感觉这次面试只是了解一下你。(最后悔的事是没有录音)

       面试总共30分钟。(有些问题的顺序不太准确了)

      1.自我介绍

      2.某个项目中用过哪些技术

      3.学过哪些课程?(最好回答自己比较熟的,否则后面坑自己,我就把自己坑了)

      4.上过《机器学习》,问了一个问题大哭我记得不太清,我只回答了不记得了。

      5.算法和数据结构还清楚吧,简单说一下快速排序和堆排序?时间复杂度?

      6.http返回的状态码

      7.触发器的执行过程

      8.equals与==的区别

      9.又问了各个项目用的什么语言,周期

      10.过去一年干了什么,学习了什么,到什么程度?

      11.介绍一下有几种锁

      12.介绍一下threadlocal

      13.有什么问题问我的?

————————————————手动分隔符——————————————————————

小米面试

   一面(4月16)

1.不用自我介绍,直接介绍一下项目用了什么?

2.浏览器输入url的流程,知道的具体说一下(DNS,http连接,负载均衡,服务器处理请求都说了一遍,顺便把springMVC流程说了一下)

3.数据库索引

4.socket通信

5.在线写一道算法题:一副扑克,随机给5张,凑成顺子,王可以代表任意一张,判断能否凑成顺子。

之前问题差不多30分钟,算法题20分钟,当时感觉面的还行,面试完没多久,就通知第二天下午电话二面

二面(4月17)

1.用过redis或者hibernate之类的框架吗?(没)

2.又问javaweb连接数据库的过程

3.懂前端语言吗?

4.知道maven吗

5.git中reset是干什么用的

6.用过什么前端框架吗?(bootstrap)

7.还有吗?

8.还会什么其他语言?(Android,项目做过,然后不问了)

9.会c或者Python吗?(会c,之前学过,然后也不问了)

(以上总共用了18分钟。。。。。。。凉。。。)

10.在线编程:题目有点长,就是给个字符串,输出编译后的。

      例如:5[a]4[b]   编译成aaaaabbbb

                   abc3[ab]2[bc] 编译成abcabababbcbc

                   a2[ab3[bc]c]a 编译成aabbcbcbccabbcbcbcca

同时数组可能大于10。

(因为之前问的都没答上来,这时很慌,开始用动态规划,后来发现不对,应该用栈

思路是:两个栈strstack、sumstack;

当碰到 '[' 时,将tmp压入sumstack栈中,同时tmp=0;

碰到字母时,看strstack栈中是否有字符串,存在取出栈顶后str+'当期字母',压入strstack;strstack不存在元素时,直接加在结果字符串res后面。

当碰到 ']'时,取出strstack和sumStack的元素,以sumstack为界,循环多次strstack,之后判断strstack是否还有元素,没有就把循环多次的结果加在结果字符串res后面;如果strstack还存在元素,就把这个结果接在栈顶元素后面。

当碰到数字时,tmp = tmp×10+此数字。

)栈是为了中括号的嵌套,因为这个里面值先展开最里面的括号,把字符串加到外面的括号中,外面括号在展开,依次类推。

所以动态规划可能是不对的(可能是我太菜,没找到状态公式)

————————————————手动分隔符——————————————————————

远景面试

1.自我介绍

2.jvm垃圾回收机制,青年代分为三份各叫什么?(我当时没想起来,eden、surivivor1、surivivor2)

3.两个文件存着电话号码,用Linux命令怎么合并在一起(实现去重,对Linux命令不熟所以没答上来,应该是cat file1 file2 |sort|uniq > file3)

4.如果是两张表存电话号码,取交、并、差集。

5.存着一个很大的文件里面有电话号码,给一个号码看看里面是否存着,不存在就把新号码加入。

总共21分钟,问的题目不难,就是自己没有答好,有些问题太着急了,没有想清楚,关于Linux的命令太薄弱了,现在网上状态是面试结束(一面就结束。。。)

————————————————手动分隔符——————————————————————

爱奇艺面试

一面

1.自我介绍

2.问项目

3.说一下自己熟悉什么?比如线程、锁等之类的

4.jvm分区

5.堆排原理,如何创建堆详细介绍一下

6、写一个堆中插入一个数的代码

总共用时24分钟,问的比较简单。

二面

1.自我介绍

2.问我是社招还是实习(因为他是混面的,所以我感觉他问的有点深,也是我没怎么看源码的原因)

3.问项目

4.线程的状态(我答的是简单的五种,但是面试官说不准确,其实应该答七种:创建、就绪、运行、阻塞、等待队列、锁池队列)

5.volitile了解吧,说一下它是如何实现可见性的(我只记得如何实现防止重排序)

6.final简单介绍一下(我答的不全,面试官说还可以防止逃窜,我开始不理解后来看到网上有个例子,面试官可能是这个意思

       byte b1=1;

       byte b2=3;

       byte b3=b1+b2;//当程序执行到这一行的时候会出错,因为b1、b2可以自动转换成int类型的变量,运算时java虚拟机对它进行了转换,结果导致把一个int赋值给byte-----出错

       如果对b1 b2加上final就不会出错

       final byte b1=1;

       final byte b2=3;

       byte b3=b1+b2;//不会出错)

7.NFS挂载里用到的协议有什么(这是自己给自己挖的坑,哭着也要填上)

8.mysql两个查询语句怎么才会发生死锁(不会,又换个题)

9.一张表有(天(1/2/3/4........)、温度),查出温度比前一天高的有哪些,经过提醒我才写出来

    select  a.date  from  A a  left join A b on a.date = b.date-1 where a.tem>b.tem;

10.有一个商城进行抢购,如何并发实现(之前好像看过一个博客,但是没太记住,我只说了我的想法)

11.知道有哪些锁,reentrantlock实现方式,AQS原理,cas原理

12.hashmap线程安全吗,什么时候不安全,原因;当两个线程,一个扩容一个读取时,线程安全吗,为什么?新版本有什么改变,哪个版本加入了红黑树?

13.hashcode如何实现的?

13.线程安全的有什么,currenthashmap实现原理

14.一个编程题,给一个一天股票价格数组,一天进行一次买进和卖出,求最大收益?

         输入 2,3,5,4,3,2,8,返回6

        输入2,4,6,1,5,10,返回9

        时间复杂度为O(n)

三面

2018.5.9(总监面)

1.一分钟自我介绍

2.记忆最深的一次项目经历

3.多线程中的锁

4.threadlocal

5.tcp三次握手

6.为什么三次握手

7.RPC

8.Linux查看某个端口号是否被占用

9.一个100G文件,里面每一行存:name(名字)、nums(次数),找出最多的100个记录。代码实现

最后三个问题回答的不好,虽然剑指offer、leetcode刷了一些题,但是碰到实际问题不会写代码了。

————————————————手动分隔符——————————————————————

美丽联合集团(微选)

一面

1.自我介绍

2.问项目(大部分时间,下面问题是根据项目问的)

3.jdbc连接数据库步骤

4.如何配置数据库连接池

5.做过哪些优化,如果现在来做可以有哪些优化

6.Linux中查询进程并杀死

7.Linux中查看日志后100行

8.有什么想问的

中途信号不好,断了两次。。。。。。

当天hr来电话说5月7号上午11点二面

二面

全程53分钟,基本全在问项目

1.自我介绍

2.问项目(WebMagic有哪些方法,如何设计多线程)

3.还是问项目(BCC校验,socket通信,都是和项目相关,具体跟项目挂钩)

4.问问题(我问的问题太不好了,感觉有点让面试官生气,╮(╯▽╰)╭)

主要考察项目细节和思路,有哪些优化方式。

————————————————手动分隔符——————————————————————

今日头条

一面

5月8号

1.自我介绍

2.数据库索引

3.索引结构

4.innodb为什么用B+树索引

5.acid

6.什么是事务

7.数据库隔离级别

8.http中keep-alive是干什么用到,Request-header中有什么?

9.什么是分段和分页?

10.编程题:给一个无序数字,找到数组中最长递增序列的个数?

                    例如:[1,3,5,4,7]  输出 :2

                                  结果集:[1,3,5,7]和[1,3,4,7]

————————————————手动分隔符——————————————————————

51信用卡

一面

5月10号

1.自我介绍

2.问项目

3.Java内存结构

4.垃圾回收

5.为什么用复制回收和压缩整理

6.问问题


#春招##实习##Java工程师#
全部评论
老哥,你爱奇艺技术三面完再有hr面没?
点赞 回复 分享
发布于 2018-05-14 16:40
百度,爱奇艺笔试完也没消息
点赞 回复 分享
发布于 2018-05-14 14:25
老铁,看房子
点赞 回复 分享
发布于 2018-05-14 13:49

相关推荐

群星之怒:不是哥们,你就不好奇瘫痪三十年的老植物人是啥样的吗?
点赞 评论 收藏
分享
评论
3
85
分享

创作者周榜

更多
牛客网
牛客企业服务