阿里的Java面试经验---二
发布日期:2021-05-14 05:41:34 浏览次数:20 分类:精选文章

本文共 1699 字,大约阅读时间需要 5 分钟。

之前用手机一边想一边记录的一些面试内容,今天整理一下整理一下吧。这些内容是两轮技术面试的记录,涵盖了Java、 垃圾回收机制、线程和并发、分布式系统等方向的内容。记录有点零碎,主要是为了后面复习。

一面:电话面试(8月1号上午,80分32秒)

  • 面试官直接问我自我介绍,然后让我说一个我记得的项目。我之前好乱,最终选了单点登录系统,还有分布式缓存的使用场景提问。真希望记得提前点针=_(
  • 项目相关:
    • 单点登录系统:主要是一个SSO解决方案,整合了多个系统的登录流程。遇到的难点是系统间的权限对齐问题,我通过引入中间件加密认证,解决了跨系统的安全问题。
    • 分布式缓存:主要的场景是微服务架构下的数据共享。我选用了Redis,因为它支持异步化写入,减少了系统的延迟。 3.Rasterizer
    • JDK版本:用的JDK8。新版本增加了核码优化,提升了GC效率。 4.垃圾回收:
    • G1 vsOthers:G1采用分代收集,Merkafen heap structure更复杂,适合大对象。
    • GC Root:主要是引用链从Eden区到老区的可达对象,还有一些全局性的对象作为根。 5.垃圾回收算法:
    • 分代收集:按对象存活周期分为新生代、老代、中间代。新生代用标记-清除,老代用复制算法。
    • Survivor区:两个区块,一个作为活跃区,另一个用于临时存放未被选中的对象。 6.内存模型:
    • volatile:保证线程间内存一致性,防卡窃。
    • 原子性:保证只能有一个线程修改同一内存单位,读写互斥。 7.线程安全:
    • ClickListener:多个线程访问共享资源,必须有互斥机制。
    • HashMap:线程安全吗?不是,因为它是单线程_nat_=.take(),会导致并发问题。 8.并发控制:
    • 线程启动顺序:可以用Runnable任务序列,控制next().start()。 9.安全防护:
    • SQL注入:参数化查询,避免直接拼接SQL语句。
    • 用户权限:均匀化用户角色,使用acl控制访问。 10.分布式系统:
    • Zookeeper:用来管理配置,使用三台机器,遇到split election,选举机制。
    • 有adoop项目:
      • 文件格式是 keyValue的,处理海量数据。
      • Mapper= 100,Reducer50。考虑优化join的方式,选择shufflengregator。
  • 二面:视频面试(8月2号晚上,47分钟)

  • 化解面试环境问题(暗房间)
  • 当前实习地点及内容:
    • 实习在XX公司,主要负责后端开发,优化了一个老旧系统和完成一个restful API接口。
  • 技术兴趣:
    • 开源项目的驱动力,喜欢研究最新框架和算法。
  • 常用的框架:
    • Spring(used in mapper层), MyBatis optimize DB query.
  • 设计模式:MVC架构,前后端分离,控制器负责接收请求,service处理逻辑性,dao处理数据层。
  • 数据库连接池:
    • 数据库分钟连接数:每个service有一个连接池,dao层提供连接。
  • 安全问题: -防SQLi,使用ORM框架,white list filter。 -防用户发现他人权限:RBAC,权限分配层次分布。
  • 表单跨域: 使用CORS策略,根据域名设置headers。
  • 接口防守:双重认证,验证请求来源和权限。
  • Zookeeper选举问题:奇偶数台机制,切换失主机计奇偶数。
  • Hadoop问题:
    • 分块:数据分割,提高IO吞吐。
    • 复制三份:防止节点失效,只用两份还能完成任务?不对,应该是保证数据冗余。
    • Namenode脑裂:空间分布式,自动电离机制。
  • Servlet线程安全: 不是线程安全,每次请求单独创建线程。
  • Bean的创建时机:spring Xml方式,上下文装配。
  • Jav IO NIO:熟悉拓扑缓存,基于异步I/O模型。
  • 三面:HR面(8月4号下午)

  • 文化影响:
    • 小学老师李老师
  • 我觉得自己最大的进步是对Java核心概念的理解加深了,特别是在垃圾回收、内存管理和并发控制方面,感觉自己掌握了更多的理论和实践经验。希望能在接下来的项目中将所学内容应用到实际编码中。

    上一篇:十个方法提高网站的访问
    下一篇:参加阿里的Java面试经验

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年05月17日 15时37分26秒