我正在为技术面试做准备,我想知道如何在不涉及不必要的细节的情况下,简要地向面试官解释设计以下程序的方法
1. Program that lets people play tic tac toe with each other over the internet?
2. A suitable data structure for a photo editor or text editor? Why?
3. Implementing code to operate the elevators?
4. Implementing the rendering engine of a web browser?我可以想出以下几点:
够了吗?在处理这些问题时,我是否遗漏了一些重要的细节。
发布于 2010-01-27 00:53:01
照片编辑很有趣。
您需要考虑照片编辑器的要求:
快速选择、解码和显示部分多兆数据结构的(16M?+)
时的伽马转换。
我建议在内存中同时保持具有低分辨率和比特深度(如mipmap)的多个缩放级别,以便在不同的缩放级别上进行有效的操作,将更改编码为基本图像的补丁,而不是直接编辑基(即每一层单独的变化)。这些补丁可以编码为一个网格,只有绘制的方块有内存分配给他们。在将编辑呈现为像素之前,可以将编辑编码为动作(例如工具、鼠标向下、移动、鼠标向上)--这允许廉价的油漆在当前mipmap级别作为补丁进行并快速显示,而后台线程则在其他mipmap级别创建补丁。
https://stackoverflow.com/questions/2143817
复制相似问题