资讯专栏INFORMATION COLUMN

网易考拉海购Java后台开发实习-面经(已拿offer)

Shonim / 526人阅读

一面(23min)

自我介绍

项目中最自豪的部分

也没什么太自豪的,就是在移动端开发的时候不存在cookie和session,然后用redis存了一下验证码感觉还不错。

讲一讲ArrayList和LinkedList

ArrayList底层实现是数组,并且每次扩容扩容1.5倍,常用在查询较多的场景中。而LinkedList底层实现是链表常用在增删比较多的场景

你说你对锁有了解,说一说你最熟悉的两个锁


当时太紧张就随口说了两个,乐观锁,悲观锁。乐观锁:每次执行事务的时候都是先执行在检查是否有其他是否在执行。而悲观锁如行锁,表锁,都是先锁定再执行事务。通常在并发量比较大的情况下用悲观锁,并发量小的情况下用乐观锁

说一下synchronied和ReentrantLock的区别

synchronied是JVM级别的,而ReentrantLock是api级别的,JVM会对synchronied做出相应的优化,锁消除:当JVM判定该资源不会被其他线程争夺的时候就会消除该锁,还有锁自旋,自适应锁(面试官速度很快,还没等我来得及解释ReentrantLock就跳下一个问题了,也许是这个超底层的回答比较满意吧)

讲一下ThreadLoacal吧

ThreadLocal底层实现是一个Map结构的表,key是Thread.currentThread(),而Value则是我们想要保存的对象

它(ThreadLocal)有什么用,可以举一个例子吗?

可以在每个线程都拥有一个各自的副本,封装起来不被影响,作用的话,可以做一个类似卖票的系统,每个售票厅(线程)只能出售100张票,不能多不能少

用过exchange()吗

不好意思,只敲过一次例子,不太了解

说一说JVM内存模型吧

我:栈区:每次方法的执行都会有一次栈帧的生成,并且其中有局部变量表。堆区:每次new出来的对象都保存在这儿。本地方法栈:通过C/C++调用系统接口的一些方法,方法区:类的信息 静态变量都在这儿,还有程序计数器

说一说AOP吧

AOP就是面向切面编程,并解释了下列术语,joinpoint,pointcut,aspect,advice,并说了一下实现的原理,若实现了接口就是JDK动态代理否则就用CGLIB

了解asm吗?

我反应了半天才想起这是一个jar包,不过从没了解过就说不知道了

String str1=new String("abc"),String str2=new String("abc"); str1==str2返回什么
当时太紧张,注意力一直放在abc字符串上了忽略了这是new了一个对象,一直回答true,反问我很久我还是没反应过来,有点没发挥好

知道如何让线程同步吗?

wait,notify,notifyAll,await,signal,siganlAll,countdownLatch,cyclicbarrer

说一说countdownlatch,cyclicbarrer

都可以等几个线程就绪后再执行后续操作,区别就是cyclicbarrer是可以复用的,而countdownlatch不可以

举个例子?

可以假设以下场景,等9个跑步选手(线程)同时在起跑线就绪了再开始起跑

可以实习多久

你的职业规划

你有什么想问我的吗?

最后面试官简单评价了一下:看得出来你平时看了很多书,不过前面有一两个答错了,你开始很紧张,后来好了一些。
二面(14min)

自我介绍

讲一下hashmap吧

hashmap底层是一个key-value结构的entry数组+链表,在put的时候根据key的hashcode的值在hash一次,然后根据得到 的hash值再和hashmap的size取余操作定位到要插入的哈希桶,如果为null则插入,否则遍历哈希桶后面的链表如果有key相等的则覆盖,否则添加到尾部,然后检查是否达到treshold需要扩容,并且每次扩容都是扩大两倍

hashmap可以插入null值吗

可以

为什么呢?你不是说根据key的hashcode插入吗

不好意思,我只是知道可以,具体情况不太清楚

你说你会MySQL调优SQL语句,那你一般是怎么做的呢?

一般是先查看慢SQL日志,然后explain一下该查询语句,看是否索引失效或者是没建索引

我们都知道hashmap是线程不安全的,那么为什么线程不安全呢?

因为当两个线程同时对hasmap扩容的时候,会导致循环链表,使cpu达到100%,甚至宕机

你说你对多线程有所了解,那你说一下线程池的实现原理吧

说一说垃圾回收的时候,如何判定一个对象是否需要回收?

一共有两种算法,一种是引用计数算法,每被引用一次计数器就+1,当引用为0就回收,不过这种算法有一个弊端就是,当对象之间互相引用的时候就永远不会回收,所以用的最多的还是GC ROOTS可达性分析,看对象是否被GC ROOTS引用,那么哪些可以作为GC ROOTS呢?有以下四种:1.栈里面的局部变量表,方法区的2.类静态属性引用的对象3.方法区中常量引用的对象,4.JNI本地变量栈中引用的对象

说一说你的项目中登录是怎么做的
大概就是redis做验证码缓存,MD5加密密码(有点长。。省略)

说说cookie和session吧
session来自于cookie,session可以放在cookie里,并且cookie存在客户端,session存在服务器端(简单回答)

你说你用过redis,那你知道redis可以做持久化吗?

可以

哪两种?

RDB 和 AOF

总结

一面有点紧张,没发挥好,不过能从底层回答的都从底层回答了,问的浅,答得较深

二面运气不错,恰好问到了擅长的部分,问的是要比一面更难,不过还算是答的比较好

最后感谢程涛学长提供的内推机会,以及一直以来在Java学习上的帮助!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69425.html

相关文章

  • 我的春招求职经验分享(已拿阿里京东网易等 5 个 offer

    摘要:面经因为我完全没有面试经验,从来没有经历过面试,于是想着在去这类大公司面试之前先找成都的小公司练练手,积累点面试经验。于是三月份开始就有成都的小公司开始约我面试。 前序 从我高考成绩出来那一刻开始,从我在高考志愿上填上计算机科学与技术这几个当时在心中堪称神圣的几个字开始,我就已经把进入中国互联网最高殿堂BAT作为我整个大学奋斗的目标,哪怕我就读的是一所位于内陆的双非一本大学我也认为我能...

    Winer 评论0 收藏1
  • 美团实习Java面经已拿offer

    摘要:作者链接来源牛客网今天刚刚收到的电话,开心,简单记录一下美团的面经。当时面试官评价基础不是很好,其他还行。的三次握手四次挥手。整体感觉美团的面试比较基础,但是各个方面都有涉及到。 作者:icysnowgx链接:https://www.nowcoder.com/disc...来源:牛客网 今天刚刚收到hr的电话,开心,简单记录一下美团的面经。时间隔的比较久了,简单回忆下,最后会给出我之前...

    OnlyMyRailgun 评论0 收藏0
  • 蚂蚁金服实习面经总结(已拿口头offer)

    摘要:我自己总结的学习的系统知识点以及面试问题,已经开源,目前已经。面试官那你都了解里面的哪些东西呢我哈哈哈这可是我的强项,从,说到,,又说到线程池,分别说了底层实现和项目中的应用。 我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经 35k+ Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star: https://github.com/Snailclimb... ...

    Lemon_95 评论0 收藏0
  • 如何准备校招技术面试

    摘要:网易跨境电商考拉海购在线笔试现场技术面面。如何看待校招面试招聘,对公司而言,是寻找劳动力对员工而言,是寻找未来的同事。 如何准备校招技术面试 标签 : 面试 [TOC] 2017 年互联网校招已近尾声,作为一个非 CS 专业的应届生,零 ACM 经验、零期刊论文发表,我通过自己的努力和准备,从找实习到校招一路运气不错,面试全部通过,谨以此文记录我的校招感悟。 写在前面 写作动机 ...

    MkkHou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<