巨人网络一面二面

岗位:C++游戏开发

一面

自我介绍

姓名+学校专业+编程语言+学习基础

做过什么C++的项目?

说自己的两个项目

问一下C++的知识,Const关键字

我答了const修饰常量,const修饰指针常量,常量指针,不可修改的特性
面试官补充const修饰函数:两种方法,放在前面和放在后面,对比了一下(具体忘记了,回去慢慢补)

C++面向对象的特定

封装、继承、多态。
封装:使代码模块化
继承:代码复用,实现多态
多态:静态,动态,通过继承实现,讲虚函数,怎么实现重写,析构函数写成虚函数防止内存泄漏的问题。

讲一下多态

静态、动态分类讲,巴拉巴拉

讲一下程序内存管理

答:程序内存可以分为代码段、数据段、BSS、栈、堆

对比一下栈和堆

答:栈是存储局部段、函数的内存,使用的时候要考虑栈溢出的问题,比如递归次数不能过多;堆是动态申请的内存,申请之后得到内存,使用之后要释放,否则会出现内存泄漏

如果我在堆里面一直new申请内存,不删除,会出现什么情况

答:内存泄漏,如果一直申请,出现溢出问题,程序会卡死,异常终止
面试官补充:程序崩溃,

问数据结构,以题目为例,第一个问题:方便查询?

线性表实现,数组

接上一个问题,玩家的分数进行排序,通过一个名词得到玩家信息

玩家用类或者结构体保存,vector排序(最差的)
面试官补充:两种方法,1、用map,2、vector+map(我一开始猜到,但是没说,不是很了解)

玩游戏吗?

玩过很多端游

你有什么问题要问我吗

问评价、实习转正问题、(好像说可以落户??)

时间23分钟左右

二面

二面问的都是操作系统和算法
面试官声音很好听,后悔没录音
基本上都是我的雷区

自我介绍

跟一面一样

windows系统的消息机制

不知道

QTcreator的内存机制

啥玩意,说不知道,但是补充了C++内的程序内存机制(数据段、代码段、BSS、栈、堆)

C++11,C++14、C++17对比,新特性了解吗

。我的内心是崩溃的,还是回答说不了解14,17、可能知道一些11的特性

C++11的STL库的shared_ptr指针

答了共享内存指针,有计数功能…

线程安全

不知道 = =

进程同步如何实现

说不怎么了解,知道死锁

那你说说死锁产生原因

!这个是个坑,我按照书上原封不动地回答了,互斥、占有并等待、不可抢占、循环等待。面试官说我只说出了一个原因,(我感觉也是)我说是书上这样写的,并没有具体实现过,后来还想说点啥,面试官小哥哥又开口了,人还挺好的,我说你问吧

项目看起来都用了多线程,那你项目里面怎么实现,项目用的技术之类的

说了飞机大战用多线程的原因,过程(被面试官问是不是自己做的项目!我说是老师带的)。

决策树和分层机制的对比

不知道什么是分层,说说决策树吧
扯了半天,意思大致就是迭代多次的最优选择,面试官又问到项目上,用了什么AI算法,我说是权值法,面试官说那就是1层啊,不是很AI,噶聊,最后我说我比较笨,就一个个点去判断,如果用多层的话,运行比较慢,面试官又笑了(声音真的很好听丫丫),问我又没有优化方法,最后想说点贪心之类的,也没咋说下去了,说没什么想法…面试官又问了一些算法的东西,有向无向图?见我没回答,换了个问法

用过什么AI算法

这个真的没用过啥啊(可能脑子短路了,本来有两个准备好的项目),面试官问我有没有参加ACM,说我投的是算法工程师!!这还怪我没更新简历,真的太可怕了,赶紧解释了我的意向是后台开发岗。小哥哥说刚刚问了客户端的问题,现在我们问问服务器吧,我噶笑,你问吧(反正我也不知道)

sql数据库

不知道,知道mysql

那你说说mysql的内部结构

答不懂,只知道简单的查询(面试官好像一直在笑)

openGL了解吗

不了解,听说过很多次,知道有加速功能(凉凉)

很多问题忘记了,而且有些问的东西有的都没听过


总结:

  • 后悔没有录音,以后可能没有机会了
  • 这两天太颓废了,忘记学习,要反思
  • 游戏开发要求比较高,先打基础
  • 一次很好的学习经验、也提醒我要注重自己的全面发展
  • 算法能力很重要!
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值