一、阿里外包面试题解析
一、基础相关
1、什么是构造函数?
- 创建新的对象,构造函数被调用
- 每个类都有构造函数,默认是无参的构造函数
2、接口和抽象类的区别?
- 类但继承多实现
- 接口中所有的方法都是抽象的,抽象类中可以写抽象方法也可以写非抽象的方法,基于此策略,可以玩运用模版方法模式来设计场景
- 接口本身也是抽象的,抽象类中可以实现接口,而不需要实现接口方法
- 接口和抽象类不可以实例话
3、进程和线程的区别?
- 放在内存中可执行的一段代码,叫做进程。进程,操作系统资源分配的最小单位,具有独立的地址空间,进程的功能是资源管理和线程管理。线程,CPU调度程序独立运行的最小单位。线程(TCB线程控制块,包含栈、PC程序计数器、本地地址空间)有自己的工作空间,各个线程也会共享进程的工作空间内存,这样线程之间就可以通讯了。JMM内存模型...进程间的通讯tcp。进程之间是隔离的,一个进程崩溃了不会影响其他进程,由于一个线程可以访问进程的内存空间,一个线程崩溃了,可能会导致进程崩溃。
- 线程创建和切换比进程要快。线程切换不需要切换页表,进程创建需要向CPU申请分配资源,此时CPU 可能需要内存分配过长(连续不连续内存分配),线程创建是在已经分配好资源的进程上去申请资源就好了。
4、什么是死锁?
- 互斥(在一个时间点只有一个进程使用资源)、持有并等待|循环等待(哲学家思考问题,需要两个资源,我拿了一部分资源,在等待另一个资源)、无抢占(自己主动释放资源,不会被强制下线)
- 两个进程活着线程,都在等待对方释放资源,两边一直僵持着
5、什么线程饥饿?
- 各个线程占用并等待,一个线程需要两个资源,自己占用一个资源,等待另一个资源,那么这些进程就一直在等待,饥饿现象,升级就是死锁。
6、如何确保N个线程可以访问N个资源同事又不导致死锁?
- 死锁预防:一定不会存在死锁,执行过程中我总共需要4个资源,过程一需要1个资源,过程二需要2个资源,过程三需要1个资源,我全部要拿到,拿不到就等待。效率有些低。
- 死锁避免:确保不会出现环形等待,执行过程共要10个资源,过程1需要3个资源,过程中2需要4个资源,过程3需要3个资源,如果到过程1,操作系统判断,当前可用资源总和是否满足该进程所需资源2,若不满足,当前进程等待(避免环形等待),若满足则分配(因为过程2一定会执行完毕把资源释放掉)
- 答案:指定各个线程获取锁的顺序。悲观锁。
7、HashMap、Hashtable区别
- map允许kv null
- table线程安全
8、ArrayList、LinkedList区别
- ArrayList底层是数组,访问复杂度o(1),
- LinkedList链表,访问复杂度o(n),插入快,不需要重新计算大小扩容和更新索引,更占内存,每个节点存储了前后节点的引用。
9、==与equals
- ==用于数据类型比较和引用内存地址比较
- equals数据类型比较,string是常量池内的,特殊的引用类型,可以用==和equals
10、多线程thread、runnable,.run和.start方法
- start启动创建一个线程
- run调用方法而已
11、HashMap
参考
二、框架技术
1、springmvc工作原理
- 客户端发送http给web服务器,web服务器对服务端请求地址解析,如果匹配DispatchServlet的请求路径,则交给DispatchServlet处理
- DispatchServlet找到对应的请求handler处理,在handler里面,可以写我们自己的逻辑,类似于netty
- handler处理完成,返回ModelAndView给DispatchServlet
- DispatchServlet通过视图解析器返回视图给客户端
2、spring容器
- Ioc,aop框架
- ioc控制反转,对象创建责任反转,BeanFactory是IOC容器的核心接口,负责实例话、定位、配置应用程序中的对象
三、JVM
1、堆外内存(直接内存)&堆内存
参考一
参考二
(1)、什么是堆外内存?
- java可以通过Unsafe(native方法)和NIO包下的ByteBuffer来操作堆外内存
(2)、堆外内存和堆内存有哪些联系?
- 不是堆内存就是堆外内存,堆外内存也称作直接内存
(3)、堆外内存的回收
- 会被回收,JVM设置的堆外内存大小调整,
-XX:MaxDirectMemorySize
,到达一个阈值之后就会触发回收。1.8之后,存放方法区的数据主要类的元信息,回收时不受jvm垃圾回收器管理
(4)、为什么用堆外内存
- 直接分配在物理内存中,不占jvm堆空间,其可申请的最大内存受操作系统限制
- 读写快,创建和销毁慢,适合做缓存,像ehcache缓存数据就可以存放在堆外内存。
一、阿里外包面试题解析相关推荐
- 多个for语句嵌套执行顺序_阿里真实面试题解析之实现多个线程顺序执行的几种方式...
前几天有一位同事在阿里一面的时候被问到这么一个多线程问题:如何保证多个线程的顺序执行.当时他没有回答上来,所以为了避免大家以后遇到同样的面试题还是回答不上来,今天我们就来分析解答下这个问题. 问题缘由 ...
- Java类的连接与初始化 (及2013阿里初始化笔试题解析)
2019独角兽企业重金招聘Python工程师标准>>> Java虚拟机通过装载.连接.初始化来使得一个Java类型可以被Java程序所使用,如下图所示,其中连接过程又分为验证.准备. ...
- 外包的水太深了,18k的阿里外包不太敢去.....
有挺多测试员曾在BAT.网易这些大厂做过外包,想必大家也是非常关心此类问题,我就想介绍下"什么是外包?","外包公司的现状",就"为什么这么多人鄙视外 ...
- 如何获得阿里技术offer:从《阿里DBA面试题》体味阿里社会招聘
数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计.测试到部 ...
- 美团Android开发工程师岗位职能要求,高级面试题+解析
前言 不知道大家面试的时候,有没有遇到这种情况,面试工资谈的是10K,最后干着40K的活!说着冠冕堂皇,提升大家能力的话,做着死命压榨员工,996成了程序员心里的魔咒! 初级安卓开发工程师(10K-1 ...
- mysql腾讯面试题_2020腾讯阿里精选面试题100+(包含答案)
前言 武功再高,也怕菜刀,确认过眼神,你得是对的人才行.就算是技巧,也要建立在硬核实力上面. 本文总结的是关于BAT的精选面试题 由于面试题较多,篇幅过长.就没有一 一展示出来了,面试题获取看我个人介 ...
- 在阿里外包是一种什么样的体验?
在阿里外包是一种什么样的体验? 停更了好久,来迟啦.不过依托于前面文章,粉丝数居然不降反升,感谢感谢大家~ 至于为啥好久没更新了,这篇文章就是答案. 开始吧~有点长,耐心看撒~. 从来之前的炎炎夏日酷 ...
- 程序员吐槽培训班简历造假,经验包装竟拿到阿里外包26k的offer
关于程序员速成培训班的传言和八卦很多,近日,又有一个程序员发帖吐槽培训班简历造假,两个大四学生报了个培训班,竟然给包装成有三年工作经验的人,更离谱的是,竟然还拿到了阿里外包26k的offer-- 许多 ...
- 史上最全阿里 Java 面试题总结及答案
史上最全阿里 Java 面试题总结及答案 qq_35151346 于 2019-08-06 13:26:53 发布 33740 收藏 817 分类专栏: 面试题 文章标签: 阿里巴巴 面试题 答案 j ...
最新文章
- Caffe部署中的几个train-test-solver-prototxt-deploy等说明二
- 【BZOJ 1528】 1528: [POI2005]sam-Toy Cars (贪心+堆)
- “对技术没有好奇心”真的是很失败的一件事情
- 双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?
- 在openEuler上做开发?这个大赛拿出30万寻找开源的yyds
- python获取路径下所有文件_Python 之 glob读取路径下所有文件夹或文件方法
- EXCEL 连接符的使用
- 【Bash百宝箱】shell作业控制(jobs、bg、fg)
- 如何解决RS485 通讯接口被主站占用的问题
- 安全事件应急响应工具箱
- TiDB 在马上消费金融核心账务系统归档及跑批业务下的实践
- C - Fewest Flops
- 天津2019全国计算机二级,2019年上半年全国计算机等级考试报名啦
- rk3288 ddr 开发指南
- win10 chrome被毒霸2345劫持主页处理过程与结果
- 【大学生必备神器网站】免费论文下载、免费2T网盘、各类免费课程、在线高数引擎...收藏了4年的宝藏学习网站最全の整理推荐!
- 关于华三WLAN调试空口利用率居高不下的调试心得
- 基于webmagic的种子网站爬取
- POE网络变压器的检测要求及具体测试标准
- UAC协议基础第一篇: UAC类设备相关的描述符
热门文章
- 钉钉的想象力,向企业服务第一平台进阶
- python 波动率锥_推广 || “上海财大”期权实战技巧特训班(六月)
- 二进制和字符串之间的互相转换 及 json文件和csv文件
- HDU 4741 Save Labman No.004(计算几何)
- SCJP考题中的陷阱---来自水木清华BBS
- 分享一些videoaudio格式
- mysql编译安装脚本(附详解)
- Qt使用MySql数据库
- 微信中直接下载app的解决方法,如何解决微信中无法直接下载app的问题
- Android5.0、6.0、7.0去除WIFI感叹号