IT企业校招越来越早了,上周末跟朋友打电话,他说阿里的提前批已经结束了,上网查了才得知8月29号就笔试了,23号投了简历,27号收到邮件参加笔试。之前一直在刷LeetCode。概率,计算机网络,数据库都没有复习,就硬着头皮来了。
笔试分为两部分,晚上7:00开始,第一部分20道单选题,40分钟(实际上我进入系统就显示只剩35分钟,最后到时,我电脑才7:30啊;第二部分,三道大题,80分钟,前两道编程,第三道接口设计。
选择题多数都是数学概率,总体感觉就是时间不够用。后面三道附加题,前两道写出来了,写最后一道的时候还有40分钟,没有系统设计经验,总感觉这样可能比那样更好,结果磨蹭到最后,代码没写上去,把后面的几个问答按照想法写了写。
下面是部分题的回忆,攒点人品吧。
-------------------------------------------------------------------------
选择题:
1,6 块1*2的瓷砖放在2*6的网格里,有几种放法?
选项没记住
7,12321能被写成几种两个质数相加的形式。
A 0
B 1
C 2
D 3
E 4
F 5
9,“村长”带着4对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么4对父子在圆桌上共有几种坐法。(旋转一下,每个人面的的方向变更后算是一种新的坐法)。
A 144
B 240
C 288
D 480
E 576
F 960
12,并发进程执行的相对速度是————。
A 有进程的程序结构决定
B 有进城本身来控制
C 进程被创建时决定
D 与进程调度策略有关
E 与进程的销毁时间有关
F 由内存分配策略决定
13,假设某段通信电文仅有6个字母ABCDEF组成,字母在电文中出现的频率分别为2,3,7,15,4,6.根据这些频率作为权值构造哈弗曼编码,最终构造出的哈弗曼树带权路径长度与字母B的哈弗曼编码分别是————。
A 86, 1011
B 70,1000
C 86,0001
D 70, 0010
E 92, 1000
F 92,0100
附加题
1,写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这颗二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
2,给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为"acbac", text为“acaccbabb”, 那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。
3,天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限购一台。
请设计一套Java接口并实现下单(order)逻辑。
参与(但不局限于)下面的下单逻辑:
1、创建订单
2、扣减用户积分
3、扣减磨合库存
4、下单成功
同时请回答:
1,、数据库表结构如何设计,有哪些表,分别有什么作用?
2、下单过程中哪些地方可能成为瓶颈?如何解决或改善?
3、是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?