zoukankan      html  css  js  c++  java
  • 四个月的面试准备,网易三轮面面试,成功拿下offer(面经奉上)

    在拿到网易offer之后,他发了这么一条朋友圈。其实我看到之后心中有很大的感触:在目标达成之前,我们会处于一种十分煎熬的状态-----我们会怀疑自己的能力是否与公司要求匹配、会怀疑自己坚持的方向是否正确、会怀疑自己的运气。但是在自我怀疑的同时,我们也不敢在学习上放松对自己的要求-----我们坚持刷题、做项目、刷面经、投简历。但是在收到offer邮件的那一刻,在听到手机“叮”了一声打开发现是意向公司的offer短信的那一刻,感觉一切都释然了。我们热泪盈眶,我们心花怒放,因为我们觉得一些的坚持和努力都是值得的!

     

    一面:

    • 自我介绍
    • 实习期间项目相关,然后转到Spring
    • Spring 在项目中用了哪些特性,IOC,及Kafka监听接口相关实现。
    • ThreadPool,Jdk原生线程池,四个参数详细解释原理,当线程池中poolSize达到corePoolSize且阻塞队列已满,再来一个任务,如何处理
    • 多线程实现同步的方式、互斥同步、非阻塞同步
    • 解释Synchronize关键字的锁优化技术,偏向锁,轻量级锁,重量级锁,这些锁是如何存储的,偏向锁撤销升级为轻量级锁的过程,结合源码解释
    • volatile关键字语义,内存屏障如何实现,JMM对内存屏障做了哪些优化,volatile的语义增强
    • 指令重排序相关及其happen-before时,数据依赖等
    • HashMap底层数据结构,如何处理hash冲突,为何HashMap的大小要设置为2的n次幂,为什么IndexFor方法里,需要hash&length-1,为什么HashMap允许null值,resize()过程,多线程下resize为什么会出现死循环,详细解释,结合源码
    • HashMap jdk1.8之后,为何转链式结构为红黑树,为何长度为8的时候,才转成红黑树
    • NIO了解吗
    • 不了解,属于自己的知识空白区域。但是面试官比较友好,并没有抓着这一块不放。
    • 阐述一下快排基本原理。easy
    • 手写单例模式。分别问了多线程情况如何处理,什么时候可以破坏单例模式,怎么防止单例模式被破坏
    • JMM内存模型,如何保证缓存一致性。

    二面:

    • 自我介绍
    • 介绍实习项目
    • Kafka监听接口如何实现,为何采用Kafka而不是用其他消息队列
    • 实现Kafka监听接口的时候,遇到哪些坑,采取了哪些措施或者解决方案
    • Kafka的基本概念,及特点和优势。offset+zk+持久化分区日志顺序存储之类的
    • MySQL了解吗,介绍一下InnoDB
    • JVM了解吗,介绍一下,讲了垃圾回收机制
    • Full GC和Minor GC区别,及各自的触发条件
    • 说说CMS垃圾回收器,及其适用场景

    HR面:

    • HR小姐姐很漂亮
    • HR小姐姐真的很漂亮
    • 问题都比较中规中矩,没有一开口就让我讲一个冷笑话
    • 有没有实习
    • 在哪里实习
    • 负责什么系统
    • 为什么要让我独立负责
    • 手头有没有其他offer
    • offer薪资有多少
    • 哪里人 以后打算在哪里发展 是否接受入职前实习
    • 是否接受996(然后后来才知道我们部门并不是996)

    总结:

    问题都比较的基础,但是想要回答好却并不容易,因为很多问题属于你想答得很深就可以深不见底,想答得浅一点一两句话就讲完了的那种。在平时学习的过程中,一定要注重培养自己的知识体系,不要只会死记硬背一些所谓的面试题标准答案。面试其实是一件量体裁衣的事情,很多东西(包括某些专业知识)并不存在一个非常量化的标准,重点是如何在面试官面前展现出自己独特的一面。假如在回答某些问题时你直接把从网上背的“标准答案”说出来,面试官就会觉得你这个人对知识没有自己的理解。面试官可是身经百战了,什么样的候选人没见过?所以想要在面试中和面试官谈笑风生,一定要在踏踏实实打牢专业基础的前提下,再努力提升自己的编码能力。如此,你想不拿一个好的offer都难!

    学习方法:

    以下所展示的全部资料,均可以免费分享 转发+关注,然后私信回复“电子书”即可。

    (1)多刷题

    自己多刷一些面试题是非常重要的,即使是在自己不需要面试的情况下,也要经常了解现在的大厂小厂面试都会问一些什么?现在比较流行的技术是什么等等诸如此类。那么哥们是如何刷题的呢?刷题主要分为Java技术以及算法两大类,搜集了目前比较新的一些题册,包括【Java核心知识】以及【算法刷题】,如算法方面就有LeetCode。

    Java企业笔试题集:

     

    (2)多看看技术牛的实战书

    实际上很多人目前的一个状态是缺乏实战经验,或者说是不知道该如何上手实战。那么,看一些技术比较过硬的大牛写的实战书籍对自己是很有好处的,多少能够学习到一些实战经验。目前我手上整理到的实战书籍也算是比较全面,包括Spring全家桶、JVM、并发编程技术、Redis相关、MySQL调优、Tomcat、ZooKeeper等高级技术。

     

    (3)多交流,多思考

    最后要强调的重点就是——多交流,多思考。现在很多程序员陷入一个怪圈,整天只会在办公室里机械的工作,实际上程序员要想有很大很明显的进步,交流是少不了的。那么怎么结识比自己厉害的技术牛呢?实际上渠道有很多,哥们个人的做法是:①看一些技术直播,在直播间交友;②加一些技术性的交流群,多交流问题;③参加一些线下活动,如面基、研讨会等等。

    写在最后

    学习如攀登,虽然有身心的疲惫,但更有沿途的优美风光,更无论登顶之后的极目远眺。之后,你总会感叹曾经的付出是值得的。

    以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金三银四面试顺利,拿下自己心仪的offer!

    答案获取方式:资料获取方式:点击链接《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

  • 相关阅读:
    Java作业十(2017-11-8)
    Java作业九(2017-11-6)
    Java作业八(2017-10-30)
    Java作业七(2017-10-30)
    Java作业六(2017-10-30)
    Java作业五(2017-10-15)
    如何获取jqGrid中选择的行的数据
    如何修改WAMP中mysql默认空密码
    为 PhpStorm 配置 Xdebug 来调试代码
    MySQL load_file()/into outfile路径问题总结
  • 原文地址:https://www.cnblogs.com/xiaoyusheng/p/13409557.html
Copyright © 2011-2022 走看看