昆仑弟子_面霸
08-10·后端开发·10年+
面试吊打面试官
面试官:大文件导入功能,服务器内存直接拉满,怎么优化?我:用流式处理,读一行处理一行面试官:文件在本地还是远程?我:本地用BufferedReader,远程用InputStream。别一次性readAllBytes面试官:还有优化的点滴吗?我:使用多线程。但别多线程同时写库。先解析入队列,再单线程批量入库面试官:队列满了怎么办?我:就先暂停读取呗,等消费完再继续面试官:那如果文件本身有问题,比如中间某行格式错了呢?我:流式处理时加try-catch,单行失败记日志,跳过继续面试官:日志打多了,IO又成瓶颈怎么办?我:使用异步日志,别阻塞主线程。面试官:处理太久,用户等半天,体验差怎么办?我:异步任务。导入提交后返回任务ID,前端轮询或WebSocket通知结果面试官:任务失败了,怎么重试?我:记录失败行号,支持断点续传。别从头来
发布于 广东
5
4
10
未登录
友善发言
image-upload
评论
加载中