网易java杭研院3面总结

来源:互联网 发布:openstack入门 知乎 编辑:程序博客网 时间:2024/04/29 15:39

9月27号,注定是个不平常的日子,今天迎来了网易期待已久的面试。

一,一面

1.简述gc机制(gc算法)

2.Fibonacci Sequence 算法时间复杂度及非递归实现

3. 微信网页版的登陆过程,从手机扫码到浏览器登陆全过程

方法一:

CSC模式为:web客户端 --> 服务端(腾讯) <-- 移动客户端
认证步骤:
1)打开微信网页版,在浏览器生成一个web客户端,此客户端并未任务授权,但服务端给它生成了一个唯一标识码UUID,监听服务端登录请求;
2) iPhone客户端点击 [登录网页版] 时,实际上此时客户端是登录了且有访问授权码 access_token,扫描网页二维码,获得UUID,将access_token 与UUID编码后,传自腾讯服务端,服务端生成登录授权码,通知正在监听中的网页客户端;
3)网页客户端通过侦听器获得授权码,往服务器请求用户信息,完成登录过程。

方法二:

非常简单:

  1. web端生成一个appid,用appid向服务器换一个uuid
  2. web端根据uuid生成一个QR码,然后long polling询问服务器用户是否通过手机app确认
  3. 手机微信扫到QR码后通知服务器:用户A使用该QR码验证
  4. 服务器通过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.网络抓包

三,三面

0 0