网易互娱平台研发暑期实习一二面


一面 April 8th

已经拥有了面试刚结束难以回忆面试细节的记忆力。。。 第一次两个面试官面试,并且聊到了我最没技术含量的爬虫小项目。

  • 爬虫的具体流程,如何爬取有登陆控制的页面,useragent 的作用,如何反爬虫
  • 正则匹配,贪婪与非贪婪介绍与使用方式
  • TCP三次握手四次挥手,SYN, ACK, SEQ 什么时候用到
  • TCP 的数据流是否是有序的,为什么,如何保证可靠性传输
  • HTTPS 建立连接的过程 (密钥生成与交换,证书传递,对称加密密钥传输,对称加密通讯)
  • cookie 和 session 的区别和使用场景
  • session 需要包含哪些内容,负载均衡场景下 session 的存储与访问
  • 浏览器本地存储的作用
  • 数组和链表的区别
  • **Java 种 Collections 的了解, 序列化 ** (还不
  • Hashtable 和 ConcurrentHashMap 的区别
  • 进程和线程的区别
  • pipe和FIFO的使用场景和区别,cat FILE | grep xxx 命令的父子进程
  • CPU 调度的演变,现代计算机的CPU调度思路
  • 如何判断链表交叉
  • 稳定排序是什么,哪些是稳定的
  • 堆排序的最好和最坏时间复杂度
  • 快排的最好和最坏时间复杂度
  • 排序,实现奇数位比左右大

手写代码一开始让手写快排,(虽然知道思路但恐怕bug连天,好在两位小哥哥好心给换了链表反转。

五个工作日内给反馈

据说组里主要用golong和python


二面 April 16th

还是一面的两个小哥哥,整体面试体验很好,全程用时50分钟左右。

问的问题比较偏向场景题,会从项目入手发散问题。

  • IP over DNS 的封装思路,遇到哪些问题,如何解决
  • 为什么公共DNS向域名服务器的查询会一次发送多个包
  • 网络丢包的成因(路由节点+接收端缓冲区
  • TCP流量控制的状态介绍
  • 给出一个场景,设计数据库模型,后端给前端提供的REST接口
  • 数据库的主备服务器如何保持一致性
  • Redis缓存的内容如何更新
  • 有没有实际用过Redis
  • etc

手写代码

  • LRU的实现,节点内容包含 Key, Value, TTL,能够实现删除过期映射

没有实操过,牛客上简单继承了 LinkedHashMap 并且重写了 getput 方法,搜索插入使得TTL有序的过程没有实现,写了注释。

  • 考虑到将这个服务上线,要增加哪些内容

监听端口,建立连接的进程和轮询处理的服务(没有使用过java进程池

  • 考虑到高可用性,如何增加(讲思路
  • 主备服务器
  • 负载均衡
  • 实习的话可能主要使用 Golang语言,你打算如何学习新语言
  • 平时有阅读官方文档的习惯吗(会查,主要看源码和里面的文档
  • 源码你会怎么读(以Java Map 为例,类图依赖关系,类文档看设计思路,源码读底层实现,关键操作的复杂度等等
  • 学校在深圳,家在(北方某二线省会),对在广州工作能接受吧(广州房价低不好吗,去玩过感觉这个城市挺好的(((
  • etc

反问环节:

没有换面试官,一面问了不少(甚至反问环节被提问了,这次就没再问了

5-7个工作日会有HR联系

二面体验还不错,面试官会很耐心地引导,找出知识边界。

自己的知识面不够广,有些内容只是有个概念,并且没有用Java写过像样的项目,需要继续努力