根据给定的信息,我们可以推断出这份文档包含了2014年支付宝面试的相关知识点,包括笔试题目和面试问题。下面将对这些知识点进行详细的解析。 ### 1. Cookies与Session Cookies是一种存储在用户浏览器上的小文本文件,用于保存用户的会话信息。它通常用于跟踪用户的状态或偏好设置。Session则是在服务器端为每个用户维护的一个对象,用于存储用户的会话数据。与Cookies不同的是,Session数据通常存储在服务器上,因此更安全、可靠。 ### 2. JVM内存模型 Java虚拟机(JVM)的内存模型定义了Java程序运行时的数据存储区域。主要包括以下几个部分: - **堆区**:所有线程共享的内存区域,用于存储对象实例。 - **栈区**:每个线程私有的内存区域,用于存储局部变量等。 - **方法区**:也称为非堆区,用于存储类的信息、常量、静态变量等。 - **程序计数器**:当前线程所执行的字节码的行号指示器。 - **本地方法栈**:为实现本地方法服务。 ### 3. SQL优化原理 SQL优化主要是提高查询效率的过程。主要包括以下方面: - **索引优化**:合理创建索引可以极大地提高查询速度。 - **查询语句优化**:避免使用SELECT *,减少JOIN操作,使用恰当的WHERE条件等。 - **分页查询优化**:使用LIMIT子句限制结果集大小。 - **缓存策略**:利用缓存技术减少数据库访问频率。 - **分区表**:对于大数据量的表,通过分区可以提高查询性能。 ### 4. 线程同步 线程同步是指多个线程之间按照某种顺序或者条件执行的一种机制。常用的线程同步方式有: - **synchronized关键字**:用于实现互斥锁。 - **volatile关键字**:保证了变量的可见性和有序性。 - **ReentrantLock**:提供了比synchronized更灵活的锁机制。 - **Semaphore**:控制同时访问特定资源的线程数量。 - **CountDownLatch**:允许一个或多个线程等待其他线程完成操作。 ### 5. TreeMap `TreeMap`是Java集合框架的一部分,实现了SortedMap接口。它使用红黑树作为底层数据结构,能够按自然顺序或者自定义比较器排序元素。主要特点包括: - **有序性**:能够按照键的自然顺序或自定义比较器排序。 - **高效查找**:平均时间复杂度为O(log n)。 - **唯一性**:不允许重复的键。 ### 6. Linux常用命令 Linux系统提供了丰富的命令行工具,用于管理和监控系统。常用命令包括: - **ls**:列出目录内容。 - **cd**:改变当前工作目录。 - **mkdir**:创建目录。 - **rm**:删除文件或目录。 - **cat**:显示文件内容。 - **grep**:搜索文件中的字符串。 - **top**:查看系统资源使用情况。 - **ps**:查看进程状态。 ### 7. Java设计模式 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。Java中常见的设计模式包括: - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - **工厂模式**:提供创建对象的接口,让子类决定实例化哪个类。 - **观察者模式**:定义对象间的一对多依赖关系,当一个对象状态改变时通知所有依赖对象。 - **装饰者模式**:动态地给一个对象添加一些额外的职责。 - **策略模式**:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。 ### 8. 数据库设计与优化 数据库设计与优化是确保应用程序性能和可靠性的关键步骤。主要内容包括: - **规范化**:消除冗余数据,提高数据一致性。 - **索引优化**:合理创建索引可以显著提高查询速度。 - **查询优化**:优化查询语句,减少不必要的表扫描。 - **存储引擎选择**:不同的存储引擎适用于不同的场景。 - **分库分表**:通过水平切分和垂直切分分散数据库压力。 以上就是从给定文件中提取的关键知识点。希望这些内容能够帮助理解2014年支付宝面试中的笔试题目和面试问题所涉及的主要技术领域。
笔试40分钟,然后带上试卷直接去面试,面试时间长短就不清楚了,我大概面了1个小时左右.
笔试:
1. cookie 和 session 的区别
2. JVM 内存模型
3. SQL注入的原理
4. 悲观锁 和 乐观锁
5. 读程序,输出结果. 关于treemap的
6. linux 基础命令,统计日志中的信息
7. java 分布式集群
8. 一道设计题,具体到数据库的表.大概是淘宝的搜索中,输入手机,会出来很多类型,按品牌按价格区间按手机种类.
还有2道题我记不住了.
面试:
1.介绍你做过的项目,用到的技术,涉及到的模块,然后从项目中问各种技术实现的细节(为了确保你是真的懂了).
2.看你的试卷,喊你讲解做题的思路,以及这样结果的原因.(考的是各位的java基础知识了,这点是绕不过去的,懂了就懂了啊,只有平时多看书)
3.团购6位验证码以及团购成功后,发送到你手机上的条码的实现方式.(第一个问题我说用随机数+时间来验证.第二个问题老实说,我也没答上来,我说用序列,面试官说序列到后期20位以上的时候,用户体验很差的)
4.淘宝上是如何保证库存和订单之间的数据准确性的.(考点是分布式事务,这个问题我也没答上来,最后他问我有什么问题问他的时候,我就反问的这个问题,面试官人挺好的,给我耐心的讲解了一遍淘宝的实现方式以及
epay的实现方式. 淘宝是通过分布式事物,中间用了一个叫协调者角色的程序,当那边点击购买时,会库存减一,保存一条预扣的状态,但是是个预准备状态,然后做成功后,协调者会在另一个数据库生成订单,然后这个订单也是预状态,等两边都
准备好以后,通知协调者,又协调者统一完成这2个数据库的事物,从而达到完成一笔交易的目的,若其中一方失败,则将预扣的数字返回到库存从而实现类似回滚的操作.)
5.索引的原理.能否构建时间索引.时间索引构建后会存在什么问题.(索引原理我是回答的堆表索引的构建原理以及查询原理,但是关于时间索引的问题,我也没回答出个所以然来,看面试官的反馈,好像回答得不够好吧)
6.你们数据库的数据量有多大,(回答:我们是电信方面的系统,表上亿的数据很正常).问:如果保证效率?
(我是如此回答的,各位自行结合自身的情况参考.答:后台JOB程序会定期备份,把生产表数据移走,然后备份表也会再备份一次,如此剃度的备份,保证生产库的数据是最小的.然后备份表采用分区和子分区,加上构建战略索引(分析系统的sql,常用
查询字段构建复合索引,以减少每次查询时对表的访问次数)).
7.SQL注入的原理以及如何预防,并举例.(这个相对简单,网上一搜一大片)
8.使用过Memcache么? 用在项目中哪些地方? (答,在门户主机上使用,缓存session,分布式的时候,统一访问这台主机验证用户session是否存在,来维持回话的状态和实现回话同步.又追问:java代码中如何实现访问门户服务器的这个session池子的? 几年前的代码,确实忘记了..于是坦白的说,记不清楚了 )
这些是主要的问题,当你回答一个大问题时中间还有很多比较碎的追问性质的小问题,总体给我的感觉是,氛围很轻松+愉快的,技术层面上还是需要你真正的理解透彻一些关键技术点,才能做到应付各种追问和给出满意的答案吧.如果只是一知半解想去蒙混过关肯定
是不行的,毕竟在支付宝的技术大牛面前,多追问几句,也就把你逼到死角了.
- 阿凡提的哥2014-04-21与网上其他免费资源是一样的。所以大家可以从百度或者谷歌搜一下免费资源
- 姜湖成哥2014-05-05比较一般,分有点多了
- 粉丝: 12
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕设和企业适用springboot自动化仓库管理平台类及云计算资源管理平台源码+论文+视频.zip
- 毕设和企业适用springboot自动化仓库管理平台类及直播流媒体平台源码+论文+视频.zip
- 360图床HTML源码.zip
- 毕设和企业适用springboot订餐类及虚拟人类交互系统源码+论文+视频.zip
- 毕设和企业适用springboot二手跳蚤类及共享经济平台源码+论文+视频.zip
- 2023年总结,个人资料
- 2024年下半年计算机水平考试模拟盘.zip
- A10-Tray自动上料抓取工位工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- MySQL基础-布尔全文搜索.pdf
- ANQU磁铁检测机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- AS014-XD10检测设备装配体工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 2023工作总结,个人使用
- 1212338883_2402103_10.2.1.1_20241216090042_951322129_a.apk
- 圣诞树html网页代码
- Linux应急响应手册
- 555构成的多路波形发生器.ms14