热腾网

 找回密码
 加入热腾

QQ登录

只需一步,快速开始

搜索
热腾网 首页 行业关系 阿里巴巴 查看内容

阿里电面试题汇总

2017-10-27 11:49| 发布者: 热腾网| 查看: 2309| 评论: 0

摘要: 原标题:阿里电面试题汇总 尚学堂AD 年前意外的经历了一次阿里的电话面试,话说还没想换工作,但这位业余HR(应该是技术负责人)都没介绍工作岗位和要求,直接就约定某晚的电面时间,抱着好奇的态度 ...

原标题:阿里电面试题汇总

尚学堂AD

年前意外的经历了一次阿里的电话面试,话说还没想换工作,但这位业余HR(应该是技术负责人)都没介绍工作岗位和要求,直接就约定某晚的电面时间,抱着好奇的态度被“虐”了一把。

总体感觉这位面试官问的问题非常深,基本都是系统或者原理级别的。不知道是不是代表了阿里面试的基本思路。

JVM的内存模型

内存空间(Runtime Data Area)中可以按照是否线程共享分成两块,线程共享的是方法区(Method Area)和堆(Heap),线程独享的是Java栈(Java Stack),本地方法栈(Native Method Stack)和PC寄存器(Program Counter Register)。

当然从1.8开始有一些变化,按照我的理解,原来常量池等信息都储存方法区,现在都移到堆里了。

1.8中-XX

ermSize 和 -XX:MaxPermSize 已经失效,取而代之的是一个新的区域 —— Metaspace(元数据区)。

在 JDK 1.7 及以往的 JDK 版本中,Java 类信息、常量池、静态变量都存储在 Perm(永久代)里。类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量。当然常量池的东西也会在 Perm 垃圾收集的时候进行处理。

JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态变量放到 Java 堆里。HotSopt VM 将会为类的元数据明确分配和释放本地内存。在这种架构下,类元信息就突破了原来 -XX:MaxPermSize 的限制,现在可以使用更多的本地内存。这样就从一定程度上解决了原来在运行时生成大量类的造成经常 Full GC 问题,如运行时使用反射、代理等。

所以升级以后Java堆空间可能会增加。

http1.0,http1.1,http2.0区别

说实话没有接触过1.0,只知道跟1.0相比1.1可以一次传输多个文件,各类浏览器大概都支持3~5个请求同时发送。

http2.0也是最近调Nginx才知道的一些,主要就是二进制的格式替代了原来的文本。后来查了资料大概知道增加了多路复用和首部压缩解决了head of line blocking,另外还有server pushing等新特性。协议的东西还是要看一看官网的说明,不过这东西过一段就容易忘。

Get/Post对缓存的影响

这题我一直没Get到点,意图其实是问浏览器缓存对于HTTP Method中Get和Post的请求是否支持,答案就是不支持Post Method。Get可以被浏览器缓存。

浏览器渲染机制

这题其实我没法答,问的太大,大概瞥过V8的一些机制。比如构建Dom,生成CSS Rule等等。但是真实没有特别系统的理解过。

mysql的Join原理以及索引数据结构和实现原理

只知道mysql innoDB join只支持Nested Loop,不支持Hash Join,就是确定一个驱动表后不断Join得到结果集,再继续往下Join。所以Join的顺序很重要。

索引只知道数据结构是B+Tree,其实就真悲催了。所以检讨一下,搜到一篇不错的文章。

浏览器meta charset和response中content-type的优先级

这题也是懵了,其实应该回想一下这一句,

1

简写才是

1

http-equiv 这个属性就是对应 HTTP response headers 里面的项目,其初衷是让不能(比如没有权限)设定服务器 header 的站点可以通过它来告知浏览器一些页面内容的相关信息。

了解以上就知道肯定是后者的优先级更高。

总结一下,裸面被虐残,阿里的面试官绝对是技术大拿,一言不合就问原理,触及灵魂了。反省自己还是应用做的太多,协议啊操作系统啊还是忘得快,没有系统的理解。以后还是应该多温故知新。

如果你想学习Java工程化、高性能及分布式、高性能、深入浅出。性能调优、Spring,MyBatis,Netty源码分析和大数据等知识点可以来找我。

而现在我就有一个平台可以提供给你们学习,让你在实践中积累经验掌握原理。主要方向是JAVA架构师。如果你想拿高薪,想突破瓶颈,想跟别人竞争能取得优势的,想进BAT但是有担心面试不过的,可以加我的Java架构进阶群:581290258

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

6.小号加群一律不给过,谢谢。


杯具

无语

很好

蛋定

愤怒

最新评论

热腾网X

未实名认证用户将不可发帖!

即日起,未实名认证用户将不可发帖,注册后,发帖请遵守当地法律法规。 【点击进行实名认证】...

点击查看详情