一面主要问题如下(主要注重基础,问得很深很广,压力面试):
首先自我介绍
数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题
对一个数组进行绝对值排序的算法
java中hashmap的底层实现
java中垃圾回收机制GC原理等
介绍自己的项目,数据库中用到的数据结构数据模型,死锁的概念(问的应该是数据库的死锁),如何避免死锁?
乐观锁和悲观锁?
一致性hash算法
项目中业务对象的关联关系/关联方式,谈谈左外连接及如何实现多对多关系模型
spring的IOC和AOP
sping如何实现(保证)事务一致性完整性,spring中事务传播机制类型
谈谈WEB的架构(应该指的是j2ee开发架构模型)、项目中的用户场景使用场景
对分布式架构的了解,如分布式存储 分布式缓存 分布式计算
谈谈对阿里的哪些开源项目有所了解?
对淘宝技术是否有了解?
对其杭州信息平台事业部其主要业务是否了解(其主要是java方面的开发,另可以重点关注看看工作流引擎)
二面主要问题如下(主要是遇到问题时的解决方案考察):
负载均衡算法有哪些?了解Nginx的分流?
如何解决高并发?
Mybatis怎么使用事务?
mysql的myisam和innodb区别,以及为什么要这样使用?
手写数据库连接池
问了redis、分布式缓存、中间件,项目的使用场景里的细节。
实际工作的JVM调优经验,举例说明
乐观锁和悲观锁(Java和数据库)
怎么优化大数据量,对应的技术解决方案?你认为的优先级排序?
三面主要问题如下(注重于项目):
工作种有遇见过服务器雪崩吗?你知道雪崩的场景一般是由什么情况引起的?
谈谈你熟知的并发编程,将会涉及到哪些技术,对应的技术应用到哪里?
谈谈分布式session的存储方式,比较和区别,哪种你认为比较好?
接触过分布式全局唯一ID吗?有哪几类生成方式?各自的优劣势?
分布式架构设计包含哪些,你工作中应用到的技术有哪些?
你主导的有技术挑战的项目,挑战在哪里,怎么设计来解决?
双11秒杀,整体的设计思路?
总体上来看,还是比较注重基础的尤其是java的多线程和并发安全性及数据库相关,另外对有关开源框架的具体底层实现需要多阅读源码并进行总结。
再给大家总结一下面试要注意的地方:面试前,提前准备面试问题的回答,回顾好简历中的工作经历;面试的时候,自我介绍要表现出自己的热情、与岗位的匹配、以及自己的亮点及有趣的地方,牢记 WWHC,STAR 原则,从岗位、部门、企业层面提问面试官;心态平稳,不要在技术面试时因为有一个知识点的不清楚而在后面的问题也回答不好!
四面聊人生
leader人very nice,给了一些建议,可能是觉得技术差不多,这面基本没怎么问技术,主要是职业发展、IBM的实习内容之类,我想大家可能也都有自己的想法,18分钟。
hr面聊成长经历:聊了一下对B2B的认识和自己的技术成长历程。
分享
在这我总结出了一些架构视频资料和互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料还有完整高清的java进阶架构学习思维导图免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
资料领取方式:加QQ群909666042,进群既领取资料!
点击链接加入群聊【Java程序员汇集交流群】:https://jq.qq.com/?_wv=1027&k=5JR2vb6
B2B电商商城实战经历
电商项目目的是把所学的分布式,微服务,性能调优等知识运用起来,只有在项目中你才能巩固知识,提升自己。实践电商项目会利用云服务器搭建真实的开发和部署环境,让你从零到项目实战,当你有着熟知和综合运用B2B电商商城的所需用到的知识和架构设计时会让你在面试中信心增长,在这也分享一个商城项目所有的内容和架构知识的运用!
系统设计
- 架构设计
- 数据库设计
- 部署设计
- 基础开发框架
用户管理子系统
- 用户注册登录(二维码技术)
- 权限控制(shiro)
- 单点登录(session统一缓存,sso)
商品管理子系统
- 商品管理(mongodb)
- 商品分类(mongodb)
- 商品分布(nosql与mysql数据同步)
- 热卖商品排行(redis)
搜索子系统
- 基于ElasticSearch的全文搜索
- 检索需求分析
- 检索策略
- 索引设置
- 分词算法
- 命中率优化
- 订单实时统计
订单子系统
- 分布式环境生成唯一编号(zookeeper)
- 下单业务流程(消息中间件)
- 订单可靠性
- 秒杀功能(redis)
- 订单管理
- 订单功能(mongodb)
支付系统
- 微信支付对接
- 支付宝对接
- 银联对接开发
- 分布式调度系统
- 数据统计
- 数据同步
- 任务调度配置
后台系统
- 日常管理
- 在线IM系统(websockedNIO)
- 用户行为分析(日志系统设计)
- 报表大数据查询优化(mysql查询优化)