登录
还没有注册? 快速注册 忘记密码?
1

京东2012年校园招聘软件开发岗位笔试题B卷

       职位类型:软件开发类


       招聘公司:京东


       笔试时间:2012年校招


       第一部分 数据结构与算法


       1. 设数组中初始状态是递增的,分别用堆排序,快速排序,冒泡排序和归并排序方法对其进行排序(按递增顺序),【冒泡排序】最省时间,【快速排序】最费时间。


       2. 红黑树中已经有n个数据,寻找某个key是否存在的时间复杂度为【O(logn)】。


       3. 7个相同的球放到4个不同的盒子里的,每个盒子至少放一个,方法有【20】种。


       4. 两个无环点链表L1,L2,其长度分别为m和n(m>n),判定L1,L2是否相交的时间复杂度是【O(m n)】,空间复杂度是(不包括原始链表L1,L2)【O(1)】。


       5. 平面上有两个n条直线两两相交,但没有三条直线交与一点,问这n条直线把平面划分成【(n*n n 2)/2】个区域。


       第二部分 软件工程与数据库


       在京东商城的商品展示页面下方,总会有一些关于本商品的客户评论信息。模仿该评论模块,有如下三个表:price(商品表),userinfo(用户表),threads(评论主题表)


京东2012年校园招聘软件开发岗位笔试题B卷

                              

       1.请画出以上三张表对应实体的ER图(实体字段标明主键外键即可,用箭头表示)


       2.在product表中加入一条新纪录(1004,'京东空调',3000).请写出对应的SQL语句

       INSERT INTO product(Pid,Pname,Price)VALUES(1004,'京东空调',3000);


       3.更新product表中pid为1001的商品的价格为3666。请写出对应的SQL语句。

       UPDATE product SET Price=3666 WHEREpid=1001;


       4.在product表中查询pname中带有"京"的商品。请写出对应的SQL语句。

       SELECT * FROM product WHERE pname LIKE '%京%';


       5.查询product表中price在1000.0与3000.0之间的所有商品并按照价格降序排序。

       SELECT* FROM product WHERE price<3000.0 AND price>1000.0 ORDER BY price DESC;


       第三部分 数字与逻辑


       1.数字与逻辑

       A. 0 2 6 14 【30】 62

       B. 11 22 33 45 【57】 71

       C. 1 7 10 【不知道】 3 4 -1


       2.逻辑推理

       A.你让工人为你工作7天,给工人的回报是1根金条。金条平分成相连的7段,你必须在每天结束时给他们1段金条,如果只许你两次把金条弄断,你如何给你的工人付费。

       解:假设金条长度为7,将金条分成7=1 2 4(实际上就是2的幂)。

       第一天,把长度为1的小段给工人。

       第二天,把长度为2的小段给工人,并收回长度为1的小段。

       第三天,把长度为1的小段给工人。

       第四天,把长度为4的小段给工人,并收回长度为1和长度为2的小段。

       第五天,把长度为1的小段给工人。

       第六天,把长度为2的小段给工人,并收回长度为1的小段。

       第七天,把长度为1的小段给工人。


       B.有7克、2克砝码各一个,天平一只,如何只用这些物品3次将140的盐分为50,,90克各一份?

       解:答案有多解:

       步骤一:把2克的砝码放到天平一段,然后把140克盐往天平两端加,直到平衡。这样就把所有的盐分成69克和71克两部分。

       步骤二:把7克砝码和2克砝码放到天平左端,把71克盐网天平两端加,直到平衡。这样左端的盐重31克,右端的盐重40克。

       步骤三:把31克盐和69克盐合成一堆,往天平上加,直到平衡。这样就把100克盐分成了两个50克,把上面称出的40克和一个50克合并就得90克,剩余的就是50克了。


       第四部分 其他


       1. 线程是【进程】中某个单一顺序的控制流。

       参考资料:http://baike.baidu.com/view/1053.htm


       多线程可以让同一个【进程】的不同部分【并发】执行,从而实现加速。

       参考资料:http://baike.baidu.com/view/65706.htm


       2.死锁是指【两个或两个以上的进程 】在执行过程中,因争夺资源二造成的一种【互相等待 】现象,若无外力作用,它们将无法推进下去。内存中造成死锁的原因有【可剥夺资源和不可剥夺资源】,【竞争不可剥夺资源】,【竞争临时资源】。

       参考资料:http://baike.baidu.com/view/121723.htm


       3.ISO网络模型图与TCP/IP网络模型图对应关系为

       【应用层】,【表示层】,【会话层】对应【应用层】

       【传输层】对应【传输层】

       【网络层】对应【网际层】

       【数据链路层】【物理层】对应【网络接口】


京东2012年校园招聘软件开发岗位笔试题B卷

       

       4.你所见过的最大影子是【月亮的影子】。


       5.京东商城的商品搜索功能是整个网站架构中非常重要的一个模块。当用户在搜索栏中写入他们想要搜索的关键字时,往往会有一些热门的关键词出现在提示框中。对于这一功能的实现,你认为需要:

      答:⑴用户输入一些关键字查询时,将用户的相关信息(ip,cookie,keyword,usernameetc.),暂时存储。(临时对象,临时文件等等)。

       ⑵定时从暂时缓存处,一次行读取,写入到数据库中。

       ⑶记录下来关键字后,需要定时从数据库中提取出来。

       ⑷数据库存储建议采用Oracle,因为这个数据量会增加很快,且很大。最好采用分表处理。

       ⑸定时生成相关关键字页面,可以与定时关键字写入数据库放在一起。


       由于关键词的存储量非常大,在你看来这么关键词该:

       答:需要将用户关键字记录表分解处理.即每个月的第一天的零点生成一个新的数据库表,名字(user_key_200604),名字后面的数字是年月(六位数字)。用户每次查询时,记录到当月的记录表中,(以后提供的用户的查询日志,默认只提供当月的查询记录)。


       第五部分 选答题(任选一题作答,使用JAVA,C#,C++等主流语言编写)


       1.求给定数组中最大的K个数function array[] findK(array[] a , int k)


       2.求给定数组中存在的和为最大的子数组,子数组中各元素要求是在原数组中连续的部分。

       (3,-2,3,4,5,-8)


                解:

京东2012年校园招聘软件开发岗位笔试题B卷


       相关攻略:

       京东2015校园招聘技术类笔试题目及答案

       京东2015校园招聘产品运营岗位笔经面经

       京东管培生2015春招一面二面经验

       京东2014年研发类岗位笔试题目

       京东2014校园招聘技术类面试题目

       京东2013年校招天津地区管培生面经

       京东软件开发岗位笔试题目

       京东运营岗位面试经验

“X职场”是专业的职场媒体报道平台。除了在职场攻略,人力资源等方面有深度解析之外,重点聚焦于各行各业职场精英和优秀人才的深度访谈。 与此同时,“X职场”是一家值得信赖的人才服务提供商,专注于提供从中高级人才到行业顶尖人才的寻访与甄选(猎头)服务、急缺人才解决方案等专业人力资源服务。如果你有精彩的故事或求职需求,请联系我们。请在微信公众号搜索“X职场”或扫描左方二维码,我们坚持长期输出高价值的职场养料。

相关文章

评论

还可以输入500 登录

360安全认证
高端
求职