网易杭研Java开发面经
8 月 14 号下午视频面的,岗位是 Java 开发,面试官挺客气,说话也慢条斯理的,也会主动引导我的思路。希望能有二面吧:persevere:
自我介绍,问了一下实习相关的,没介绍项目。
Java 中的容器分类有哪些?那么 Map 有哪些咩?LinkedHashMap 的底层实现? LinkedHashMap 有哪些应用场景呢?emmm…这个我就说可以用它来实现 LRU,自己一般用 LinkedHashMap 较少,只是在 HashMap 基础上为了记住插入顺序才用这个的,面试官也没说啥,这个问题就过了。然后问 TreeMap 底层呢?,TreeMap 相比 HashMap 的特点?后面还追问了 TreeMap 中红黑树复杂度计算方式…这个我就不会了,后面还是要补一下,好几次面试都问了红黑树。
Java 中的锁有哪些分类?可重入锁是悲观/乐观锁?乐观锁怎么定义的?乐观锁有哪些问题?
介绍下实习中的项目?项目中用到了 Netty,你对 Netty 了解多少?本以为要引出 NIO 了,结果没问…没问…好像之前看网易 Java 面经确实都没有问 IO 相关的,可能是网易那边业务中涉及比较少吧。
Spring 核心理念?说下你对 IoC 的看法?那么 Spring 怎么解决循环依赖问题的?这个问题我就不会了。。直接说的是我不知道(抓到知识盲点一个,以前看到过这个问题但是没有仔细研究过)。那你说下 AOP?AOP在Spring中底层实现?JDK 中自带的实现接口,cglib 中的继承要代理的类,那么你知道 cglib 的底层原理吗?我说只知道底层好像是使用 Enhancer 类来操作需要代理的类来实现继承关系的…其它的我就不知道了。
线程池用过吗?你知道 Java 中创建线程池的方式?我说有五种,Excutor 中的 newSingleThreadPool、newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool 以及使用线程池自身的构造方法 new ThreadPoolExecutor 创建,并说了一下里面的参数。然后问那你说一下这几种线程池的底层实现?balabala,这个比较简单,然后接着一个问题来了,那你说一下 newSingleThreadPool 和直接创建线程有什么区别?emmm…我不知道从哪个点说,面试官提示我说一下线程池的优点?我说有降低资源消耗、提高响应速度(主要体现在线程上下文切换)以及对线程的管理上,回到这个问题本身,我觉得应该是单线程线程池能够更好的被管理吧,面试官没点头也没摇头这个问题就过了…最后面试官问了一下有没有用过第三方的线程池,就是 JDK 之外的?我说没有,他说数据库连接池用过吧,比较一下数据库连接池和线程池?这个只能说设计思想是相同的,具体一一说出来,还真没有方向,面试官也没再追问就过了。
Redis 用过吧(项目中写了),本以为要问我 Redis 底层的,好吧也没问,他问我怎么保证 Redis 高可用性,我说我搭了 Redis 集群,从 CAP 原理开始扯如何保证高可用性 balabala。
然后又问了一个项目,JVM 监控系统是否会对目标对象产生影响 balabala,最后面试官好像实在记不起来还能问啥,就结束了…
感受:全程问的都比较基础,没有揪着一个问题深挖底层,也没有问 MySQL、设计模式、HTTP、计网相关的,但是恰好我正需要这些知识点查漏补缺,包括 JVM 相关的也问的很少(也可能是项目中有一个 JVM 相关的,所以没问其中的知识点),不过还是希望网易能给个二面机会:weary:
需要java学习路线图的私信笔者“java”领取哦!另外喜欢这篇文章的可以给笔者点个赞,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深度揭秘阿里(蚂蚁金服)技术面试流程!附前期准备,学习方向
上半年公司的项目很闲,很多人觉得没意思陆续走了,我考虑到自己的发展,从6月底开始面,面到7月底,三十家公司。我从不打没准备的仗,我是一个喜欢总结经验的人,每经过一场面试,我都会那个本子记录下来,或者哪些问题是自己之前没遇到过的,或者是哪些问题是新遇到。通过一段时间的备战,面试,拿了几家offer ,最终我入职了阿里。 准备内容算法leetcodecareerupglassdoortopcoderzojjuly的博客mitbbspoj杭电acmcodeforces复杂数据结构的讲解及实现GeeksForGeeks:一个比较牛逼的coding challenge网站Java基础面向对象的特征:继承、封装和多态int 和 Integer 有什么区别;Integer的值缓存范围说说反射的用途及实现Http 请求的 GET 和 POST 方式的区别MVC设计思想什么是Java序列化和反序列化;如何实现Java序列化;或者请描述Serializable接口的作用重载和重写的区别进程和线程线程和进程的概念并行和并发的概念创建线程的方式及实现进程间通信的方式说说 CountDownLatch、Cycl...
- 下一篇
35个面试详解,170道挑战题,1460个精彩问答 | 最全Java工程师面试宝典
不你是是在发愁大学的知识没有用武之地?有没有觉得Java工程师竞争压力大,就业困难?不知道面试Java工程师应该准备些什么?……现在一切都解决了!你想要的干货知识和面试题统统在这,快拿回去嚼烂吧! 知识干货 华山版《Java开发手册》免费下载 与孤尽聊聊《Java开发手册》和开发者的个人修养 不了解这12个语法糖,别说你会Java Java编程进阶 来测试下你的Java编程能力 Java编程能力测试-我的回答 一个牛人给Java初学者的建议(必看篇) Java中级开发工程师知识点归纳 【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑 面试秘籍 面经宝库: 各大公司Java后端开发面试题总结 Java工程师面试经典题目整理 从Java小白到阿里巴巴工程师,回顾我两年来的学习经历 35题突破Java面试: 如何保证redis高并发及高可用 如何保证缓存与数据库的数据一致性 redis有哪些数据类型,谈谈适用场景 Redis线程模型 分布式缓存的第一个问题 如何保证消息队列的高可用性 如何保证消息队列的顺序性 分布式搜索引擎的架构 分布式搜索引擎Elastic Se...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7