来未来 后端开发 秋招笔试
#软件开发笔面经#
1.从升序数组中找出两个数字,使得相加等于固定值,时间复杂度O(n),输出结果:是否找到,如果找到分别输出这两个数字。
思路分析:定义一个静态map,先遍历一遍数组存储所有数字的下标,再遍历一遍判断(sum-num[i]下表是否存在),存在则证明找得到两个数字的和满足sum,退出。
2.实现一个类 支持100个线程同时向个银行账户中存入一元钱
思路分析:
线程要实现并发存入,for循环创建100个线程,重写run方法实现存钱逻辑,存钱时要加悲观锁,不然会出现更新覆盖。
用计数器拦截,或者循环栅栏,保证100个线程全部执行完毕。
1.从升序数组中找出两个数字,使得相加等于固定值,时间复杂度O(n),输出结果:是否找到,如果找到分别输出这两个数字。
思路分析:定义一个静态map,先遍历一遍数组存储所有数字的下标,再遍历一遍判断(sum-num[i]下表是否存在),存在则证明找得到两个数字的和满足sum,退出。
2.实现一个类 支持100个线程同时向个银行账户中存入一元钱
思路分析:
线程要实现并发存入,for循环创建100个线程,重写run方法实现存钱逻辑,存钱时要加悲观锁,不然会出现更新覆盖。
用计数器拦截,或者循环栅栏,保证100个线程全部执行完毕。
全部评论
相关推荐
点赞 评论 收藏
分享