网易社招面经,纯干货分享

我的背景

本人毕业于二流一本大学非计算机相关专业,大三下学期开始学java。目前恰好工做两年,专业后端,base深圳。java

面试流程

一面二面电话面-->三面四面视频面-->主管电话面-->hr电话面
整个流程下来就两个礼拜,比阿里高效多了。因为面试的是网易杭州研究院的职位,原本三面经过后hr联系我说是要去杭州总部让主管进行个现场面试,而我在深圳,就告诉hr我这边不方便看能不能安排视频面试,而后就又加了一轮技术视频面。顺带说一句,网易的hr真是超级nice啊,加了微信私下聊得很嗨皮~mysql

重点:面试题

java基础

1.定义Integer x=20 Integer y=200 在内存里是个什么过程?
2.volite关键字的原理?它能保证原子性吗?AtomicInteger底层怎么实现的?
3.threadLocal关键字有用过吗?若是没有重写initialValue方法就直接get会怎样?
4.hashMap与concurrentHashMap原理和区别?
hashMap什么状况下会出现循环链表?concurrentHashMap写的时候用什么锁?RenteenLock底层是怎么保证线程安全的?
5.反射能获取到父类的私有方法吗?怎么防止反射破坏单例模式?
6.描述下JVM内存模型。每一个区的做用是什么?堆内存的工做原理,为何须要两个幸存区?只有一个行不行?老生代是用什么垃圾回收算法?
7.描述下多线程原理。怎么开启一个线程?start和run方法有什么区别?
怎么建立一个线程池,传入的参数分别什么含义?线程池是怎么实现维持核心线程数的?怎么实现一个自定义的拒绝策略?
8.Socket编程 nio(这一块我不太熟就说没了解过,面试官就没细问了)linux

开源框架

1.你用过哪些开源框架?最熟悉的是哪一个?(这里我说了spring,因此后边的问题都是围绕spring的)
2.描述下spring的ioc和aop。
你经常使用哪种注入方式?BeanFactory和ApplicationContext有什么区别?大家项目里用的哪一个?说一下spring bean的生命周期。
AOP实现原理是什么?两种动态代理实现原理?JDK动态代理为何要实现接口?
3.spring task是怎么实现的?
4.spring事务你是怎么用的?加了@Transcational注解spring都作了哪些工做?怎么知道事务执行成功了?
事务隔离级别?mysql默认级别是什么?事务传播属性?spring默认是什么?嵌套事务子事务何时commit?
5.spring和springMVC是什么关系?有没有用过JdbcTemplate?
6.springMVC中对整个请求的处理流程是怎样的?返回json的话是用哪一个view?nginx

数据库

1.mysql索引是怎么实现的?b+树有哪些特色?真实的数据存在哪里?
2.哪些状况下建索引?解释下最左匹配原则?
如今一个表有三列a b c,组合索引(a,b,c)查询的时候where a like ? and b=? and c=?能用到这个组合索引吗?为何?
3.explain执行计划看过没有?其中type字段都有哪些值?分别表明什么?
4.你有哪些sql调优经验?面试

Redis

1.redis有哪几种数据结构?给你一个key怎么知道是用的哪一种结构?
2.怎么查看全部的key?redis怎么切换库?怎么清数据?
3.描述下redis淘汰策略?若是没有数据能够淘汰活着没有配置淘汰策略读请求能够正常执行吗?
4.大家项目里redis是单节点的吗?若是多节点怎么同步?
5.项目里用redis存哪些数据?为何用redis?和jetty本地缓存有什么区别?redis

网络

1.HTTP 1.1版本增长了哪些内容?有哪几种请求方式?
2.描述下HTTP三次握手和四次挥手过程?为何须要四次挥手?为何TIME_WAIT状态须要通过两个最大报文段生存时间才能到close状态?
3.浏览器发起一个请求到收到响应中间经历了哪些过程?知道多少就说多少,越详细越好。算法

Nginx

1.nginx有哪些模块?你比较熟悉哪一个?
2.proxy_cache你是怎么配置的?缓存是存在哪里?具体是怎么命中缓存的?
简历里有写nginx,结果问得几个问题我都没答好,面试官就没再多问了,囧~spring

Linux

1.怎么查看某个进程中的线程?
2.怎么批量替换一个文件夹下全部文件中的一个字符?(sed命令)
3.有没有用过jps jmap jstack jstat 命令,分别说下有哪些经常使用参数,知道多少就说多少。
我这里结合本身用jmap jstack定位到线上问题的经验说的,答完后感受面试官挺满意的,因此说实践很重要啊~sql

情景模拟&其余

1.设计一个系统,天天有100亿条数据,须要在后台作实时展现和查找。
我当时回答的大致思路是nginx负载均衡,消息队列存储,多线程读取,批量插入,数据库分库分表。
面试官根据个人回答又衍生出了不少问题,如消息队列存满了怎么办?(也就是消费跟不上生产)批量插入时某一条失败了有什么影响?怎么解决?分库分表应该怎么分?怎么解决数据迁移的问题?
2.用代码实现cat 1.log |grep a |sort |uniq -c |sort -rn 的功能。
3.若是如今有一台服务器忽然变得很慢,怎么去定位问题?数据库

感悟

1.不要妄自菲薄。
不少人以为本身学校很差专业不对口,进不了大公司,连去面试的勇气都没有,其实越是大公司越是看重我的能力而不是历史战绩。
2.面试前必定要准备充足,否则就是浪费双方时间。
不少人不屑于临时抱佛脚,你若是以为这是临时抱佛脚那就是抬杠了。我这里说的准备主要有两点:第一,简历上的内容必定都是本身很熟的东西,面试官会根据他感兴趣的地方衍生出不少问题,可能问到的点都提早想一下。第二,必定要有一两个本身很熟悉的领域,能够具体到某个技术点或者某个框架,可是必定要研究透彻。
3.要善于思考、总结、反思,这些能力是能够训练的。

写在最后

这里只列出了网易面试中问到的问题(其余公司问得也都差很少),问题带答案面经:阿里面经网易面经

相关文章
相关标签/搜索