阿里巴巴笔试题,求帮忙

shijing828 2015-04-17 12:00:00
用一个整形数组实现一个有固定上界为100个的堆栈,实现push,pop,size方法并编写代码对堆栈进行功能测试,语言使用Java,C#或C++均可


一个有generic的固定上界的堆栈,class Stack<T> {…}, 有push,pop,size方法。编写测试程序,并编写一个测试数据生成器,能够为测试这个堆栈生成所需的测试数据。

定义broad match,一个词组的单词如果是另一个词组单词的子集,就认为是个borad match,例如对于 "a b c","a", "b c" "c a" "a b c"都匹配,而 "a d"不匹配。现有一个搜索匹配模块,输入为用户的查询来匹配一个词组字典,找到字典中所有可以和输入broad match的词组,输出预定的词组整型序号。例如"cheap iphone in china",字典中有 1. "cheap iphone", 2. "cheap mobile", 3 "china iphone",则1和3匹配。设计性能测试报告(语言描述)以完整描述述被测模块的性能,例如但不限于 "性能曲线y反映查询速度相对x变化,其他不变时的查询速度,x单位为Ux,y单位为Uy"



为了方便有车一族预约汽车保养服务,天猫和汽车主机厂商合作,将全国数千家4s店的汽车保养服务搬到网上,开放给用户进行预约,用户可以根据自己的闲暇时间提前预约汽车保养服务并可享有优惠价格。假设某个品牌的汽车主机厂商在天猫上发布了一个汽车保养服务商品,这个商品有7个套餐,每个套餐的价格不同,每个套餐每天可提供的服务量是一定的(比如每天每个店提供5辆次的套餐A类型的汽车保养服务),全国一共有1500家4s店,用户最多可提前一个月(30天)进行预约下单。如果由你来设计这个汽车保养服务商品的系统,你打算怎么做?
*请根据面向对象原理设计出商品模型,同时说明设计思路,最好能阐明发布商品、编辑商品和交易下单等场景的具体逻辑。


双十一的时候很多人都提前在购物车中收藏了想买的商品,等到0点就一键批量下单,假设购物车清单如下:

*请编写一键批量下单的主要逻辑代码(0点流量很大,适当考虑性能)


用Java代码模拟实现:一个人不断往箱子里放苹果,另一个人不断从箱子里取苹果,箱子只能放5个苹果,苹果数量无限。要求不使用java.util.concurrent包中的类。
...全文
722 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
<script></script> 2015-04-23
  • 打赏
  • 举报
回复
引用 5 楼 t_jl1979 的回复:
[quote=引用 3 楼 u010131956 的回复:] [quote=引用 2 楼 defonds 的回复:] 不使用 java.util.concurrent 包中的类,java.lang.Thread?
单线程问题 是拷逻辑及thread中的方法?[/quote]
引用 3 楼 u010131956 的回复:
[quote=引用 2 楼 defonds 的回复:] 不使用 java.util.concurrent 包中的类,java.lang.Thread?
单线程问题 是拷逻辑及thread中的方法?[/quote] 应该是考线程安全的基本知识:阻塞队列,线程安全容器,自定义锁等。这些在concurrent包中都有实现。 用Collections.synchronizedList等可以绕过,这些是1.5之前的线程安全实现。 但是达不到出题的目的,估计也过不了。[/quote] 明显是考察wait和notify呀
Defonds 2015-04-17
  • 打赏
  • 举报
回复
不使用 java.util.concurrent 包中的类,java.lang.Thread?
microhex 2015-04-17
  • 打赏
  • 举报
回复
这是今年底的笔试题啊,说多了都是泪啊。。。。唉
没劲咬吸管 2015-04-17
  • 打赏
  • 举报
回复
我就看看大神的解答。。。
冥王之锤 2015-04-17
  • 打赏
  • 举报
回复
引用 3 楼 u010131956 的回复:
[quote=引用 2 楼 defonds 的回复:] 不使用 java.util.concurrent 包中的类,java.lang.Thread?
单线程问题 是拷逻辑及thread中的方法?[/quote]
引用 3 楼 u010131956 的回复:
[quote=引用 2 楼 defonds 的回复:] 不使用 java.util.concurrent 包中的类,java.lang.Thread?
单线程问题 是拷逻辑及thread中的方法?[/quote] 应该是考线程安全的基本知识:阻塞队列,线程安全容器,自定义锁等。这些在concurrent包中都有实现。 用Collections.synchronizedList等可以绕过,这些是1.5之前的线程安全实现。 但是达不到出题的目的,估计也过不了。
冥王之锤 2015-04-17
  • 打赏
  • 举报
回复
第三题,考虑海量数据情况。 1. "cheap iphone", 2. "cheap mobile", 3 "china iphone" 各个条目需要重新整理 改为cheap :[1,2], iphone:[1,3],mobile:[2], china:[3]。 cheap iphone in china,先分词,单个词查找,必然建索引,速度很快,得到 cheap :[1,2], iphone:[1,3],china:[3],根据查找结果,重组条目 1. "cheap iphone",2.cheap,3,iphone,china. 显然2的重组是错误的,选,1,3。这里只需比较词条数目,可以预先确定每个条目的词数量。简单比较即可。
好名字给猪了 2015-04-17
  • 打赏
  • 举报
回复
引用 2 楼 defonds 的回复:
不使用 java.util.concurrent 包中的类,java.lang.Thread?
单线程问题 是拷逻辑及thread中的方法?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧