【网易互娱】平台研发【暑期实习】一二面面经
一面 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
并且重写了get
和put
方法,搜索插入使得TTL有序的过程没有实现,写了注释。考虑到将这个服务上线,要增加哪些内容
监听端口,建立连接的进程和轮询处理的服务(没有使用过java进程池
考虑到高可用性,如何增加(讲思路
- 主备服务器
- 负载均衡
实习的话可能主要使用 Golang语言,你打算如何学习新语言
平时有阅读官方文档的习惯吗(会查,主要看源码和里面的文档
源码你会怎么读(以Java
Map
为例,类图依赖关系,类文档看设计思路,源码读底层实现,关键操作的复杂度等等学校在深圳,家在(北方某二线省会),对在广州工作能接受吧(广州房价低不好吗,去玩过感觉这个城市挺好的(((
etc
反问环节:
没有换面试官,一面问了不少(甚至反问环节被提问了,这次就没再问了
5-7个工作日会有HR联系
二面体验还不错,面试官会很耐心地引导,找出知识边界。
自己的知识面不够广,有些内容只是有个概念,并且没有用Java写过像样的项目,需要继续努力