Elvan_
全职 · 300/日  ·  6525/月
工作时间: 工作日09:00-20:00、周末09:00-14:00工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

「3年C++/算法优化开发者」——专注用代码解决性能瓶颈问题,擅长将理论知识转化为高效可落地的解决方案

? 我能为你做什么

▪️ 小型算法优化(50-300元/单)

▪️ 代码调试与性能调优

▪️ 技术方案咨询与学习辅导

工作经历

  • 2023-11-06 -2024-08-30武汉中地数码科技公司C++开发工程师

    负责系统架构设计和模块开发,覆盖离线部分和在线部分,设计并实现 LRU 缓存系统

教育经历

  • 2018-09-01 - 2022-06-25成都理工大学勘查技术与工程本科

语言

普通话
英语
0
1
2
3
4
5

技能

0
1
2
3
4
5
作品
搜索引擎

1.采用workflow架构,使用workflow搭建一个http服务器,用于接收客户端的请求 2.对客户端发送的url进行解析,/search为网页查询服务,/get为推荐字服务 3.推荐字服务模块分为离线部分和在线部分,离线部分将语料文件进行清洗、去重以及停用词过滤,生成中文和英文词典,根据中英文词典生成词典索引文件,在线部分对客户端发送的报文体进行解析,根据每一个字符得到候选词集合,将候选词集合根据最小编辑距离算法由小到大排序,再根据词频大小进行排序,返回客户端前十个候选词 4.网页查询服务模块分为离线部分和在线部分,离线部分将爬虫下来的网页使用tinyxml进行解析,使用simhash算法计算每个网页的指纹并进行去重,生成网页库和网页偏移库,将去重后的网页的内容进行解析、过滤停用词后得到字符对于每一篇网页的权重,生成倒排索引文件,在线部分服务器将客户端请求的报文体进行解析,将客户端查询内容作为文章,过滤停用词后,计算非停用词的权重作为基准向量和网页库的每一篇文章进行余弦相似度的计算,按照相似度大到小排序,返回给客户端前十个相似的网页连接 5.网页查询服务需要对磁盘文件进行频繁读写,影响查询速度,引入redis和LRU作为缓存进行优化,分别为redis_server和LRUCache 6.redis作为缓存系统时,客户端发送网页查询服务的请求后,服务器将产生一个redis任务,到redis中查询是否存在键值对,如果没有则使用网页偏移库读写磁盘得到网页链接发送给客户端,并且更新查询内容和网页链接到redis中 7.LRU作为缓存系统时,使用了workflow的资源池接口,将LRU资源放入资源池中,当服务器创建网页查询服务时,会从资源池中获取LRU资源,先进入LRU查询是否有缓存,如果没有则进行磁盘文件的读写并且更新LRU中的缓存 8.使用workflow资源池和LRU缓存系统时,由于每个线程拿到的LRU不一样,导致资源池中的缓存内容不一致,创建一个定时器任务,每隔30s将资源池中所有的LRU进行同步

0
2025-04-18 16:15
更新于: 1天前 浏览: 6