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

  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秒以内!) **
  • 对数据进行处理,过滤掉垃圾数据
  • 最后写入文件
    题目二代码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,187评论 6 13
  • 换行 横线 a链接,链到一个地址 img 展示一张图片 div语义为“一大块”,用于给页面划分区块,让结构更清晰 ...
    yuhuan121阅读 364评论 0 0
  • 1. 如果我在健身,有人问这个问题,我一定会爆粗口的,没有理由,因为我在训练呢。 如果一定要回答:我会告诉他,我什...
    昕城阅读 1,133评论 9 3