Java实习面试(2018春)

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

阿里面试

        一面

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

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

      1.自我介绍

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

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

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

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

      6.http返回的状态码

      7.触发器的执行过程

      8.equals与==的区别

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

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

      11.介绍一下有几种锁

      12.介绍一下threadlocal

      13.有什么问题问我的?

我感觉凉了的主要原因是,面试官最后说“如果一周内没通知就是没过。。。。。”,经过这第一次面试,我知道“实践才是检验真理的唯一标准”。同时后悔简历提交的太早了,多复习一个月也可以提交。

 

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

2018.03.31   一直在笔试,就没有面试机会。。。。。。。。

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

小米面试

2018.04.18 更新

    一面(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+此数字。

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

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

总体来说,小米一面面完感觉可以,二面感觉自己凉了,前面问题从一开始就不在自己会的线上,就没完整回答过几个问题,直接影响后面在线编程。编程时还一直想之前的问题,没想清楚怎么做就下手去写动态规划,后来找到方法了,有感觉没时间了,就很着急的写了一个很多bug的代码。之后面试的学长说等通知吧。

 

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

远景面试

4月20号上午9:47收到预约面试时间,11:31面试

1.自我介绍

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

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

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

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

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

 

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

爱奇艺面试

更新时间2018.5.3

一面

4月28号晚上hr联系说5月2号进行视频面试(当时在看lol总决赛)

5月2号上午10点40准时面试

1.自我介绍

2.问项目

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

4.jvm分区

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

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

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

二面

中午12:30hr电话说下午3:40进行视频二面

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刷了一些题,但是碰到实际问题不会写代码了。

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

美丽联合集团(微选)

一面

更新:2018.5.6

5月2号hr(自称蘑菇街hr,开始没反应过来)来电话,通知5月3号16:20电话面试。

5月3号16:20准时来电话,面试这些公司,面试官都是很准时的。

1.自我介绍

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

3.jdbc连接数据库步骤

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

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

6.Linux中查询进程并杀死

7.Linux中查看日志后100行

8.有什么想问的

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

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

二面

更新:2018.5.7

加的面试官微信,开始要视频面试,但是我在实验室,实验室电脑没摄像头,变成了语音面试。

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

1.自我介绍

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

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

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

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

已凉!

 

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

今日头条

一面(视频)

5月8号

约好10:30面试,11:20才开始,问的都不深,只是简单问一下,所以记不太清了

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.问问题

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

现在在小米实习,虽然中途爱奇艺hr打电话问能否去实习。此贴结束

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值