iBlog@zihua

预祝各位国庆快乐!

  • 首页
  • 归档
  • 关于我

  • 搜索
区块链 参考 练习 语言的艺术 springCloud 生活 Spring SpringMVC 算法 antic Java MyBatis 书籍细读 JVM 项目教学 SpringBoot Netty

蚂蚁金服笔试(个人愚见)

发表于 2019-08-28 | 0 | 最后修改于 Nov 16, 2019 4:52:15 PM

概念题

第一题

怎么理解Saas、Paas、Iass,用生活中的例子比喻一下三者的差异

越来越多的软件开始使用云服务,云服务只是一个统称,可以分为三大类。

  • IaaS,基础设施服务1
  • PaaS,平台服务
  • SaaS,软件服务

IBM的软件架构师Albert Barron曾经用披萨做比喻解释这个问题。

请你设想你是一个餐饮业者,打算做披萨生意。

你可以从头到尾生产披萨,但是这样做比较麻烦,需要准备的东西多,因此你决定外包一部分工作,使用他人的服务。你有这三个方案:

  1. 方案一:IaaS

他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。

  1. 方案二:PaaS

除了基础设施,他人还提供披萨饼皮 你只要把自己的配料洒在饼皮上,让他帮你拷出来就行了。也就是说,你设计披萨的味道,他人给你提供服务。

  1. 方案三:SaaS

他人直接做好了披萨,不用你的介入,到手就是一个成品。你要做的就是把它卖出去,最后再包装一下,印上你的Logo。

软件工程中的区别:

SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户普通用户接触到的互联网服务,几乎都是 SaaS。

PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。

IaaS 是云服务的最底层,主要提供一些基础资源。它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。下面这些都属于 IaaS。

可以了解到,SaaS模式下的用户没有任何自主权,只能用给定的应用程序,PaaS模式下可以自己安装应用程序,但是不能定制OS,IaaS模式下则是云服务商提供硬件,从OS开始都可以自己选择和定制。

第二题

为什么数据索引采用LSM Tree作为数据结构,LSM Tree相对于其他的数据结构有什么优势?

LSM Tree主要应用在固态硬盘上,因为B+ Tree的IO次数较少,所以在机械硬盘上的性价比要高。

第三题

谈谈你对同步&异步、阻塞&非阻塞的概念理解

可以参考我的这篇博客 --> 传送门

翻到 "第一章 【1-2】" 就是最优的口述回答了。如果是笔试的话还是直接把概念放上去,就不要讲故事了。

第四题

java里什么样的对象被认为是垃圾对象?哪些对象被认为是根对象?

第五题

什么是线程安全,什么是线程死锁,举例说明线程死锁的场景

第六题

在浏览器输入域名到加载完成,涉及哪些网络协议

大厂被问烂了的题目。。。我找找严谨详细的的回答,算是送分题。

第七题

除了学校课程,你还阅读过哪些技术书籍或者开源代码,说说你阅读后的总结和感想。

这个问题比较惭愧,我迄今为止都没有阅读过大型项目源码。。

如果是阿里的话,说自己阅读过dobbo或者netty的源码那离offer到手应该不远了。然而我netty应用也不精,更别说源码实现了。

编程题

第一题

给定数组,求满足目标值的子数组集合,例如,给定[10,1,2,7,6,1,5],目标值8,则子数组集合为{[1,7],[1,2,5],[2,6],[1,1,6]}

动态规划入门题题型。

第二题

实现一个计算器输入字符串表达式,输出运算结果。表达式支持整数的加、减、乘、除、括号。例如:输入"(1+2)*3+4="输出13

送分题,栈与队列那个章节的中缀算式用法,严奶奶数据结构书中的原题。。。

第三题

给定一个1T大小的文件,内容包含很多单词,单词间空格分隔,请计算出频率最多的10个单词。约束:内存只有10MB

这种题型我记得百度贼爱问,什么给你几个T大小的文件,里面全是字符串或者整数,内存只给你多少多少,有时候还限制时间,然后让你干点啥事,比如去重、分析性别、统计啥的。。。阿里这是被带坏了嘛,群里兄弟给的思路是基于大数据的一个计算问题,1个T的IO会很大,内存肯定撑爆,每次读写用哈希自增文件就ok,利用硬盘不需要内存,内存起到缓冲的作用,大数据类似hdfs底层实际上是哈希和IO的规避

@子华 wechat
欢迎友联!
Donate comment here.
@子华 微信支付

微信支付

  • 本文作者: @子华
  • 本文链接: https://liuzihua.top/archives/20
  • 本文最后编辑时间: Nov 16, 2019 4:52:15 PM
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 区块链 # 参考 # 练习 # 语言的艺术 # springCloud # 生活 # Spring # SpringMVC # 算法 # antic # Java # MyBatis # 书籍细读 # JVM # 项目教学 # SpringBoot # Netty
2019的日常总结与记录
《计算机算法基础》课程记录
  • 文章目录
  • 站点概览
@子华

@子华

预祝各位新年快乐!

50 日志
5 分类
17 标签
RSS
Github E-mail
Creative Commons
Links
  • 爱敲代码的猫
  • ?雨苁ℒ?
  • biezhi(魔王不造反)
  • TyCoding
  • 猿码优创
  • 阿里中间件团队博客
  • 薛勤的博客
  • 沐雨的博客
  • 千峰教育-李卫民
  • 輕言輕语
  • 子华的算法博客(备案中...)
  • 龙哥的博客
0%
Copyright © 2019 iBlog@zihua 鄂ICP备18029580号-1
主题 - NexT.Muse v5.1.4
本站运行: