# 简历筛选面 ## 介绍下自己 ## 介绍下爬虫项目 ## 爬虫项目正文提取的算法 介绍了下正文提取算法。面试官没继续问下去。。 ## 说下你们的爬虫跟其他爬虫比主要不一样的地方是哪里 ## 爬虫里面simhash是怎么回事 介绍了下simhash是干嘛的。面试官也没继续问下去。。 ## 会Java吗。。介绍下垃圾回收方面的东西。 回答了分代收集的流程 ## 会算法吗。。说下常见的排序。。 ## 说下冒泡排序的优势。。 ## 假如有1000万个数据需要排序,用哪个合适。 说的堆排序,这个说错了。实际上应该是二路归并排序,有点遗憾。 ## 说下重载和重写。。 ## 说下Hashmap 没太明白让我说什么。。就把Hashmap的流程说了下。然后问我key和value是怎么存的。。有点懵逼,不知道想问啥,就说了Entry。 总体面试的很不舒服。过了一个多星期接到一个电话告诉我之前的那个是简历筛选面。然后约了面试的时间。 # 一面(38分钟) ## 问了学了那些课?数据结构考了多少分?专业排名怎么样 ## 都会哪些语言 Java、Golang、Python、PHP。 其中Java用的最多。 ## 怎么学习Java的?都看了哪些书?英文版的还是中文版的。 看书+实践 《Think in Java》、《Effective Java》、《Java并发编程指南》、《深入理解Java虚拟机》 一般是以中文版为主,中间有歧义的句子会对照着英文版的看。 ## Java内存回收 分代收集那一套讲一遍。 ## 并发。 线程间通信方式。 ThreadLocal原理、场景。 volatile原理:Java内存模型划分为主内存工作内存之类的。 ## ARP协议。 IP地址->物理地址。 ## 有没有做过路由器相关的开发。 实际上计算机网络实验课还是弄过的。。但是全忘光了。。只能说没有。。 ## 递归的优点与缺点,递归优化。 通过使用尾递归,编译器可以将递归代码优化为非递归的。 http://blog.csdn.net/whinah/article/details/6419680 http://www.ruanyifeng.com/blog/2015/04/tail-call.html ## 排序算法,了解哪些排序算法,那些是稳定的。 ## MySQL索引方面 查询一条语句的时候,怎么知道他用了哪些索引。 explain show index from ## 常见的Linux命令。用的哪个发行版。 ps、lsof、df、du、top ## Redis和Memcached的区别。 ## 说下项目 # 二面 ## 数学建模比赛的情况。 ## 项目 ## 线程和进程的区别 ## 对java线程的理解 java内存模型 ## hashmap与ConcurrentHashMap ## 线程的几种状态,状态之间是怎么轮转的 ## ThreadLocal应用场景 ## mybatis与jdbc template ## limit字段使用 # 三面 ## 项目 爬虫去重是怎么做的? 正文提取是怎么做的。 只可以抓取静态页面吗?如果要抓取js渲染的页面应该怎么做。 可以抓取Https的网站吗? ## 毕设 内容相似度是怎么比较的。 余弦相似度的流程。 ## 用户体验你怎么看? 回答这个问题时候有点懵。。 语言组织有点乱。就说了 用户UI和用户交互 功能不要太深,层次在3-4层就可以。 用户行为日志分析 用户反馈 ## 还报了哪些公司? 这个面试总共十五分钟。。面试官说看了前两面的面试记录,觉得没太多问题要问我的了。 心情愉悦。。