100分钟,7道通用单选,4道通用多选,2道Java/C++单选,2道Java/C++多选,3道编程题,整体时间比较紧张,做的时候没敢耽误。选择题,还是常规那几样,但是题型相对比较新,不能想当然,有一定套路,排序算法,数据结构,数据库,设计模式,计算机网络,操作系统,Java语言基础,难度有,需要认真做。编程题,三道有一定难度,特别后两题容易超时,需要优化技巧。第一题,就是个解方程的题,easy,不需要什么技巧。第二题,组合优化问题,我写的代码量相当大,讲Java的集合类充分利用起来了,对整个点菜过程进行了模拟,不出意外的超时了,但还好过了90%多,时间关系先跳了继续做。做完第三题有了优化思路,用高效的输入输出可能就能过了。第三题,本质上还是找素数,写出来不难,但后续优化不超时花了很长时间。首先第一个Java的话,用高效的输入输出省时间。接着算法层面优化,包括,对所有数进行预处理存储(空间换时间),再接着用最小质因数来递推计算重量(利用已知结果,减少重复计算)。最后AC,时间到了。蚂蚁的这套题是我近期做过难度最大的,特别是算法的优化技巧,之前都只听说过,不咋用过,这次算是用上了,也算是查漏补缺了。 #蚂蚁求职进展汇总#