技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 其他 --> 百姓网公开笔试题:查询条件的子集判断

百姓网公开笔试题:查询条件的子集判断

浏览:2544次  出处信息

    百姓网需要最聪明,最有潜力的技术牛人来帮助我们给世界惊奇。为了让我们互相找到的过程变得更加直接了当,我这里有一个公开的笔试题目。这是我们日常的工作中遇到的一个典型问题。如果你有答案,请直接寄到 geeks @ baixing.com而不需要使用 shhr @ baixing.com。

    题目

    请写一个算法,判断一个查询表达式是不是另外一个查询表达式的子集。

    稍微加一点解释

    就拿SQL语句为例,如果查询A是age > 21查询B是age > 20 AND height > 160我们知道,A所代表的集合是B所代表的集合的子集。凡是满足A的条件的记录,也一定满足B的条件。我需要一个算法,在给出任意两个表达式以后,判断一个是不是另外一个的子集。if($queryA->isSubSet($queryB)) {

    echo "A is subset of B"

    }

    为了简单起见,只需要实现最简单的AND, OR逻辑操作,大于,等于,小于三种比较操作就好。

    这有什么用呢?

    这是个我们不到10人的技术团队日常典型需要解决的问题。给个例子:百姓网为了应付更大的搜索数据量,把搜索分布在多个城市的多台服务器上。系统管理员可以根据数据的使用频度等规律,配置几个不同的数据库(MySQL的,和Solr的)。这样,当有一个新的广告出来后,子集算法根据搜索库的配置查询就可以决定,它更新到哪一个或多个库里面。

    查询的时候,如果确认给定的查询条件是以前配置的一个库的子集,就可以只从那个库里查询了。这可以让我们轻松地配置几十个搜索库,而不用改一行代码。

    热切期待优秀的你和我们联系。重复一遍:邮件请发到:geeks @ baixing.com

建议继续学习:

  1. 腾讯-1亿个数据取前1万大的整数-题解答    (阅读:8905)
  2. 谷歌(Google)2011年校园招聘笔试题    (阅读:8856)
  3. 你是那10%可以实现二分查找算法的程序员吗?    (阅读:6415)
  4. 15道使用频率极高的基础算法题    (阅读:5394)
  5. 新浪微博笔试题:找出共有2个以上标签的用户对    (阅读:4835)
  6. 有道实习生笔试总结    (阅读:4497)
  7. 2014网易前端开发笔试题笔记    (阅读:3810)
  8. 《百姓网公开笔试题:查询条件的子集判断》的一份 PHP 答卷    (阅读:2692)
  9. 百姓网公开笔试题结果展示    (阅读:2268)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1