
阿里的Java面试经验---二
面试官直接问我自我介绍,然后让我说一个我记得的项目。我之前好乱,最终选了单点登录系统,还有分布式缓存的使用场景提问。真希望记得提前点针=_( 项目相关: 化解面试环境问题(暗房间) 当前实习地点及内容: 技术兴趣: 常用的框架: 设计模式:MVC架构,前后端分离,控制器负责接收请求,service处理逻辑性,dao处理数据层。 数据库连接池: 安全问题: -防SQLi,使用ORM框架,white list filter。 -防用户发现他人权限:RBAC,权限分配层次分布。 表单跨域: 使用CORS策略,根据域名设置headers。 接口防守:双重认证,验证请求来源和权限。 Zookeeper选举问题:奇偶数台机制,切换失主机计奇偶数。 Hadoop问题: Servlet线程安全: 不是线程安全,每次请求单独创建线程。 Bean的创建时机:spring Xml方式,上下文装配。 Jav IO NIO:熟悉拓扑缓存,基于异步I/O模型。 文化影响:
发布日期: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.
- 数据库分钟连接数:每个service有一个连接池,dao层提供连接。
- 分块:数据分割,提高IO吞吐。
- 复制三份:防止节点失效,只用两份还能完成任务?不对,应该是保证数据冗余。
- Namenode脑裂:空间分布式,自动电离机制。
三面:HR面(8月4号下午)
- 小学老师李老师
我觉得自己最大的进步是对Java核心概念的理解加深了,特别是在垃圾回收、内存管理和并发控制方面,感觉自己掌握了更多的理论和实践经验。希望能在接下来的项目中将所学内容应用到实际编码中。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年05月17日 15时37分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux--进程状态
2025-04-07
Linux/CentOS设置全局代理(http)
2025-04-07
Linux——静态库
2025-04-07
Linux下安装或升级Python 2.7
2025-04-07
Linux下的系统监控与性能调优:从入门到精通
2025-04-08
Linux安装Tomcat
2025-04-09
linux审计功能及规则 (audit.rule)
2025-04-09
Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式
2025-04-09
Linux服务器中毒?教你一步步精准判断和快速处置!
2025-04-09
Linux根文件系统详解
2025-04-09
linux系统常用监控系统状态信息命令
2025-04-10
Linux系统数据实时备份工具
2025-04-10
linux系统监控与硬盘分区/格式化/文件系统管理
2025-04-10
Linux系统调用分析
2025-04-10
Linux经常使用命令(十一) - more
2025-04-10
linux缓存nscd
2025-04-10
LINUX编程实战指发送UDP消息
2025-04-10
Linux虚拟机上安装redis
2025-04-10
linux软件包的一般安装方法
2025-04-10
linux软件包:RPM包、源码包、yum在线
2025-04-10