免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3071 | 回复: 0

[C] 分享几个面试题 [复制链接]

论坛徽章:
35
双子座
日期:2014-05-09 17:56:38程序设计版块每日发帖之星
日期:2015-08-30 06:20:00程序设计版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2015-12-27 11:07:07程序设计版块每日发帖之星
日期:2016-01-12 06:20:0015-16赛季CBA联赛之北京
日期:2016-01-15 01:01:2115-16赛季CBA联赛之浙江
日期:2016-01-15 22:38:20程序设计版块每日发帖之星
日期:2016-01-18 06:20:00每日论坛发贴之星
日期:2016-01-18 06:20:0015-16赛季CBA联赛之北控
日期:2016-01-30 21:43:01程序设计版块每日发帖之星
日期:2016-02-08 06:20:0015-16赛季CBA联赛之山西
日期:2016-02-20 10:54:41
发表于 2019-02-19 10:15 |显示全部楼层
本帖最后由 __BlueGuy_ 于 2019-02-22 22:38 编辑

一、内存池
1、new一个对象数组,每个对象定义一个变量isUsed标识对象是否被占用
2、new的时候找一个没被占用的对象,然后把isUsed置为true
3、delete的时候把对象的isUsed置为flase

二、A*
1、创建一个open表和一个closed表
2、创建一个搜索树,这个搜索树只包含一个根结点node0
3、把node0放到open表里
4、while循环,如果open表不为空一直循环
5、把open表里的第一个结点noden移动到closed表里
6、如果noden等于目标结点,那么就找到了一条路径,退出循环
7、如果noden不等于目标结点,那么就扩展noden的子结点生成一个集合m,然后把集合m里的所有结点连接到noden上,并把所有结点放到open表里
8、按照估价函数重新排序open表

三、Lua面向对象
1、new一个子类,把基类设置为子类的的metatable
2、把基类赋值给自身的__index变量
3、如果在子类中找不到方法,那么就会回到基类metatable的__index表中查找方法

四、顶点变换的步骤
1、物体坐标*模型视图矩阵 = 视觉坐标
2、视觉坐标*投影矩阵 = 裁剪坐标
3、裁剪坐标 / w = 规范化设备坐标
4、规范化设备坐标进行视口变换 = 屏幕坐标

五、哈希冲突的解决方法
1、链地址法:对每个哈希地址建立一个链表,将哈希到同一地址的关键字存入相应的链表中
2、线性探测
3、双重散列

六、服务器宕机处理方法
把逻辑和存储分离,会有一个dbserver没有逻辑,一般物理机不出问题就不会宕机。gameserver把需要存储的数据存到dbserver,dbserver定时存盘,gameserver宕机也不影响存盘,把经常变动的数据存到nosql db里,如memcache或redis里

七、协同程序和线程的区别
协同程序是通过协作来完成的,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确被
要求挂起的时候才会被挂起。多线程程序同时运行多个线程

八、浅度复制和深度复制的区别
复制引用称为浅度复制,完全复制称为深度复制(既复制对象的引用,也复制该对象包含的其他对象)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP