# LingLongInterview **Repository Path**: dingdayu/LingLongInterview ## Basic Information - **Project Name**: LingLongInterview - **Description**: 玲珑科技的两道面试题 - **Primary Language**: PHP - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-11-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #LingLongInterview 十分抱歉,直到此时,才把发挥题的源代码发到指定的邮箱; 对于迟到那么多天,我真的十分抱歉。 原本,上周五收到的邮件,我在接到电话通知的时候,就答应回去就会查收,是的,当天晚上我的确收到并查看了邮件。 可是由于,周五那天一直在跑面试,晚上还要整理,一天面试的总结,在看到邮件后,就被其他事给忙过去了。 周一,再次跑面试的时候,在去咱们公司的路上,突然想起来,是有面试题的,当天的晚上,赶快开始准备。 周一那天开始准备问题的解决方案,考虑采集那个来源,以及采集方防采集度有多高(我尝试采集过一个网站,无论是伪装来源还是头信息,都会被屏蔽)。 为了实现准确度,还考虑采集 www.miitbeian.gov.cn ,但是由于验证码的问题,最后不得不放弃,这之间还尝试去做二维码识别,由于时间的原因,在周二那天晚上不得不放弃,而采用 :www.beianbeian.com 的采集源。 周二深夜完成了采集分析和数据库记录,并用C#赶制出一个定时采集器,去触发采集动作。 周二夜里我让定时器去触发,并记录到数据库,但是,在第二天,也就是周三早起去查看的时候,计算机卡死重启,当我再开机的时候,发我在IDE中编辑的文件,都被清空为空文件了。用二进制查看,全是 0 。 周三晚,赶快又重新分析了下,重新编写测试。 周三晚,完成备案采集后,又把IP地址查询给准备了下。 周四晚,也就是今天晚上,赶完IP地址查询,就赶快将源代码发到指定的邮箱,由于后面时间赶的比较紧,后面的IP地址查询,可能就比较"粗糙"了. 如果评分的话,自知,分数可能不会太高,不过由于白天都要跑面试,每天都需要三四家,大大小小的公司,而且距离往往不太近。周五我所有的面试也都要有结果了,所以今天晚上必须把邮件发过去,以便工作人员评估。 同时希望,咱们公司在收到邮件后,尽快评估,无论结果如何,我希望得到咱们公司的回复。 万分感谢。 # 项目说明 1. 备案采集: 技术层主要提现在 `\Application\Home\Controller\IndexController.class.php`文件中,其中有关于curl定义部分,以及正则匹配,和数据的保存和缓存部分。 由于时间问题,并没有对代码进行太过的备注和解释,不过这个功能比较简单,代码比较简洁,懂技术的,很快就能看懂,也没进行任何的代码干扰。 2. IP地址查询 由于采用`ThinkPHP`框架,其技术上的体现就显的比较相形见绌了,不过主要体现在“文件上传” “编码转换”,具体代码请查看:`\Application\Home\Controller\IPLocatedController.class.php`. 关于纯真数据库文件的解析,在很早的时候就有研究,由于`ThinkPHP`通用`UTF8`所以,直接的纯真文件由于编码问题,无法直接使用这次主要处理了编码的问题。 关于试题中提到的“导入”,由于考虑到如果存储到数据库中,和直接读取文件的效率差别不大,所以,这个“导入”动作,我使用文件的拷贝来实现更新。 **由于没有对框架等进行要求,所以本次作业,放在了一个TP框架中