标签:方法 recent 支持 cti 提取 数据 工具 浏览器 直接
以文字搜模型:
基于Lucene文本搜索引擎,查找最匹配的;
以图片搜模型:
计算图片特征,对图片特征计算HashCode, 搜索的时候匹配HashCode;
以模型搜模型:
计算模型的特征得到n维特征矩阵, 对特征矩阵计算HashCode, 搜索的时候匹配HashCode;
对外网数据去重:
一开始直接使用条件逐个字段比较判断是否重复;
后来对关键字段连接建立联合哈希值保存,用这个哈希值去重;
后来想到其实外网的url是唯一的,直接对url建立哈希值来去重;后来设想直接用url哈希之后作为主键保存,建立聚集索引;
有效性检测比较简单:
使用java.net 下的类来实现,主要用到了 URL和HttpURLConnection :
刚开始使用openStream()方法,这样使用倒是可以,但是速度慢;
最后使用了getResponseCode()方法,可以得到请求的响应状态,该方法返回一个 int 分别是 200 and 404 如无法从响应中识别任何代码则返回 -1, 如果对该url发起的5次请求都没有应答则认为链接失效;
1. 你们搜索引擎的QPS有多少?
2. 关于文字搜索的部分, Lucene是怎么设置索引/关键字/相似性度量 的?
4. 你做的去重、检查有效性的工具在运行的时候监控过性能吗?哪种资源占用比较多?
5. 你们的搜索引擎支持图片搜索,是怎么做的?用了什么算法(提取图片特征用了什么算法)?
6. 不管是图片的特征还是三维模型的特征, 你们提取了之后保存在数据库里面, 然后新来了一张图片, 你也计算了它的特征,那么如何度量这个特征与你数据库中已有图片的特征的相似度呢?
答:直接使用欧式距离计算。反问: 你们的数据量大概有三百万,你要是这么做的话,挨个计算距离效率也太低了吧?
7. 你们这个项目还有哪些可以改进的地方(主键设置不合理, 怎么设置)?
8. 知道网络编程吗?了解网络IO模型吗?讲一讲IO多路复用
9. redis了解吗?你提到了redis的缓存替换策略, allkeys lru 替换策略中的 LRU(Least Recently Used)算法的原理是什么? 不知道? 那如果让你设计,应该怎么设计?
10. 如果让你设计一个数据库,实现增删该查这些功能, 有什么注意事项?
11. 讲一讲多线程编程?
面试结果:秒灰
数据库的知识问了很多
针对项目问了很多
一定一定一定要了解项目的所有细节!
标签:方法 recent 支持 cti 提取 数据 工具 浏览器 直接
原文地址:https://www.cnblogs.com/greatLong/p/10562218.html