美文网首页
后台考核题目(答案附后)

后台考核题目(答案附后)

作者: 那只是一股逆流 | 来源:发表于2016-08-29 11:49 被阅读0次
    1. 工厂里面有两种类型的工人:A类型的工人的工作是生产面包,B类型的工人的工作是搬运面包。现在有一个仓库,最多可以容纳20个面包。
    • A类型的工人有5个,不断生产面包放入仓库中。
    • B类型的工人有4个,不断将仓库中的面包搬运出仓库。
      ** 请模拟面包生产和搬运的过程。 **

    提示:

    • 当仓库满了的时候,A类型的工人暂停生产面包,等待仓库未满的时候继续生产。
    • 当仓库空了的时候,B类型的工人暂停搬运面包,等待仓库中有搬运的面包时,再开始搬运。

    知识点:

    多线程、同步、数据结构

    1. 获取在上海和深圳上市公司的所有股票代码和名称并保存为文本(格式:代码=名称)。
    • 新浪接口:http://hq.sinajs.cn/list=sh601006 (list后面的参数为股票代码)
    • 返回格式:var hq_str_sh601006="大秦铁路,6.360,6.350,6……"等
    • 如图:
      �访问结果图
      提示:
    • 深证上市公司代码格式:sz00####(后面四位为数字),如sz008972,sz005763
    • 上海上市公司代码格式:sh60####(后面四位为数字),如sh600035,sh605602
    • 可能要使用的类:
    • HttpClient等相关类,用于发起请求
    • 文件操作相关类,用于操作文件
    *知识点:*
    

    模拟请求、字符串与文件操作


    1. 这个题目有多种解法:

      • 线程之间的通信:使用Object.await(),notify()等方法可以实现目的;
      • 使用阻塞队列:这种方法简单一点,我用的就是这种;
      • ...
        题目一代码
    2. 本来我觉得这个题目也不是很难,但是可能是代码量多了一点,所以大家这个题目普遍做的不完美,有很多小错误,比如:乱码、没有获取到所有数据以及字符串操作有问题等;这个题目逻辑稍微有点复杂,那么代码块(方法)的划分就显得非常重要了。
      我们把问题拆分来看:

    • 首先是构造url
      • 在不知道哪些是股票代码的情况下,我们可以把数字全部遍历一次把正确的代码获取到,sh6000001 - sh609999;
    • 然后发起请求,获得数据
      • 不知道大家注意到没有,一次请求可以带很多个代码参数的,这样可以减少请求次数节约很多时间。** (出一个附加题,能不能把请求时间压缩到7秒以内!) **
    • 对数据进行处理,过滤掉垃圾数据
    • 最后写入文件
      题目二代码

    相关文章

      网友评论

          本文标题:后台考核题目(答案附后)

          本文链接:https://www.haomeiwen.com/subject/anpxettx.html