⽹易社招⾯试流程与经验总结【纯⼲货分享】
个⼈背景
本⼈毕业于⼆流⼀本⼤学⾮计算机相关专业,⼤三下学期开始学java。⽬前刚好⼯作两年,专业后端,base深圳。
⾯试流程
⼀⾯⼆⾯电话⾯-->三⾯四⾯视频⾯-->主管电话⾯-->hr电话⾯
整个流程下来就两个礼拜,⽐阿⾥⾼效多了。由于⾯试的是⽹易杭州研究院的职位,本来三⾯通过后hr联系我说是要去杭州总部让主管进⾏个现场⾯试,⽽我在深圳,就告诉hr我这边不⽅便看能不能安排视频⾯试,然后就⼜加了⼀轮技术视频⾯。顺带说⼀句,⽹易的hr真是超级nice啊,加了私下聊得很嗨⽪~
重点:⾯试题
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(这⼀块我不太熟就说没了解过,⾯试官就没细问了)
开源框架
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?
数据库
2.哪些情况下建索引?解释下最左匹配原则?
现在⼀个表有三列a b c,组合索引(a,b,c)查询的时候where a like ? and b=? and c=?能⽤到这个组合索引吗?为什么?
4.你有哪些sql调优经验?
Redis
2.怎么查看所有的key?redis怎么切换库?怎么清数据?
3.描述下redis淘汰策略?如果没有数据可以淘汰活着没有配置淘汰策略读请求可以正常执⾏吗?
4.你们项⽬⾥redis是单节点的吗?如果多节点怎么同步?
5.项⽬⾥⽤redis存哪些数据?为什么⽤redis?和jetty本地缓存有什么区别?
⽹络
1.HTTP 1.1版本增加了哪些内容?有哪⼏种请求⽅式?
2.描述下HTTP三次握⼿和四次挥⼿过程?为什么需要四次挥⼿?为什么TIME_WAIT状态需要经过两个最⼤报⽂段⽣存时间才能到close状态?
3.浏览器发起⼀个请求到收到响应中间经历了哪些过程?知道多少就说多少,越详细越好。
Nginx
2.proxy_cache你是怎么配置的?缓存是存在哪⾥?具体是怎么命中缓存的?
简历⾥有写nginx,结果问得⼏个问题我都没答好,⾯试官就没再多问了,囧~
Linux
1.怎么查看某个进程中的线程?
2.怎么批量替换⼀个⽂件夹下所有⽂件中的⼀个字符?(sed命令)
jvm面试题总结及答案3.有没有⽤过jps jmap jstack jstat 命令,分别说下有哪些常⽤参数,知道多少就说多少。
我这⾥结合⾃⼰⽤jmap jstack定位到线上问题的经验说的,答完后感觉⾯试官挺满意的,所以说实践很重要啊~
情景模拟&其他
1.设计⼀个系统,每天有100亿条数据,需要在后台做实时展⽰和查。
我当时回答的⼤体思路是nginx负载均衡,消息队列存储,多线程读取,批量插⼊,数据库分库分表。
⾯试官根据我的回答⼜衍⽣出了很多问题,如消息队列存满了怎么办?(也就是消费跟不上⽣产)批量插⼊时某⼀条失败了有什么影响?怎么解决?分库分表应该怎么分?怎么解决数据迁移的问题?
2.⽤代码实现cat 1.log |grep a |sort |uniq -c |sort -rn 的功能。
3.如果现在有⼀台服务器突然变得很慢,怎么去定位问题?
感悟
1.不要妄⾃菲薄。
很多⼈觉得⾃⼰学校不好专业不对⼝,进不了⼤公司,连去⾯试的勇⽓都没有,其实越是⼤公司越是看重个⼈能⼒⽽不是历史战绩。
2.⾯试前⼀定要准备充⾜,不然就是浪费双⽅时间。
很多⼈不屑于临时抱佛脚,你如果觉得这是临时抱佛脚那就是抬杠了。我这⾥说的准备主要有两点:第⼀,简历上的内容⼀定都是⾃⼰很熟的东西,⾯试官会根据他感兴趣的地⽅衍⽣出很多问题,可能问到的点都提前想⼀下。第⼆,⼀定要有⼀两个⾃⼰很熟悉的领域,可以具体到某个技术点或者某个框架,但是⼀定要研究透彻。
3.要善于思考、总结、反思,这些能⼒是可以训练的。
写在最后
这⾥只列出了⽹易⾯试中问到的问题(其他公司问得也都差不多),问题带答案⾯经:⼁

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。