9月27号,注定是个不平常的日子,今天迎来了网易期待已久的面试。
一,一面
1.简述gc机制(gc算法)
2.Fibonacci Sequence 算法时间复杂度及非递归实现
3. 微信网页版的登陆过程,从手机扫码到浏览器登陆全过程
方法一:
CSC模式为:web客户端 --> 服务端(腾讯) <-- 移动客户端
认证步骤:
1)打开微信网页版,在浏览器生成一个web客户端,此客户端并未任务授权,但服务端给它生成了一个唯一标识码UUID,监听服务端登录请求;
2) iPhone客户端点击 [登录网页版] 时,实际上此时客户端是登录了且有访问授权码 access_token,扫描网页二维码,获得UUID,将access_token 与UUID编码后,传自腾讯服务端,服务端生成登录授权码,通知正在监听中的网页客户端;
3)网页客户端通过侦听器获得授权码,往服务器请求用户信息,完成登录过程。
方法二:
非常简单:
- web端生成一个appid,用appid向服务器换一个uuid
- web端根据uuid生成一个QR码,然后long polling询问服务器用户是否通过手机app确认
- 手机微信扫到QR码后通知服务器:用户A使用该QR码验证
- 服务器通过long polling告诉web端用户A验证成功,并产生一个session cookie,登录完成
4.mysql使用的数据结构
5.简述网络分层?tcp三次握手
6.线程并发怎么实现
7.抽象类和接口的区别
二,二面
1. web开发中,数据库并发访问的控制及解决方案
2. 怎么实现内存状态的监控?(jvm虚拟机中内存分配机制及优化)
3.使用hibernate的好处与坏处
4.一千台机器,怎样保证系统服务的高可用性?(比如说,一台机器当掉,可继续由另一台提供服务)
5.struts的配置,底层实现?(比如拦截器等)
6.介绍自己最熟悉的一种技能或框架
7.具体项目的分工问题,比如负责业务接口设计的人员需要负责开发吗?负责开发的人员可以负责接口的设计吗?怎么分配合理?
8.spring都使用了哪些配置?自己的实际项目中用的什么版本?9.简述MVC模型
10.网络抓包
三,三面