1.请设计一个简单电话的实现,基础的按键有0-9数字键,拨号/挂机键,可按数字输入电话号码,点击拨号键接通电话,拨号键变为挂机键,再点击挂机键挂断电话,设计要求:需要考虑机能的扩展性,例如追加*号键,或者追加按键音这种情况,尽量做到代码改动的最小化(写伪代码或者类图,不用写出具体的方法实现。)2.设计一个函数,找出给定字符串中出次数最多的字符以及出现次数,并写出时间复杂度。伪代码或思路都可。3.一道sql题,设计四个表,涉及自连接和左外连接,有个条件迷惑性有点强。4.现需要下载n个文件到某目录中,且当所有文件都下载完成后返回true,可以使用不超过三个线程处理,public static boolean download (String数组类型 urls, String dir){to do downloadreturn true;}下载文件的方法public static bytes数组getBytesFromUrl(String url);无需实现直接调用例如给定文件保存路径“user/local/files"要求保存文件结果为“user/local/files/001.jpg"提示不考虑目录内文件重名情况可以额外封装方法,属性等。5.你开发的模块,发布到生产后,服务器压力骤增,该如何排查因为什么造成服务器压力,假设运维可以给你提供你需要的一切信息。