快手游戏 笔试 游戏开发工程师

2025.3.21
13单选,6不定项,3编程,90分钟,共100分(单选26,不定项24,编程50)
在之前笔试的惨痛教训下决定先做单选,再做编程,最后做多选

单选,不定项(考的挺深,好多都不知道)
c++编程语言:实参形参类型,虚函数
数据结构:启发式广度优先搜索(启发式是什么...),红黑树(wc这个都考),找最短路径算法
操作系统:linux信号捕获,cpu缓存命中,互斥锁与临界区锁
计算机网络:http协议,tcp四次挥手
数据库:select, poll, epoll语句使用
软件设计:设计模式,包括单例,策略,组合模式
编译原理:编译链接,包括静态,动态
引擎渲染:渲染流程

编程(3道题,分别10,20,20分,限c++)
1.求最大连续子序列和
2.多个有序链表合成单个有序链表(强烈觉得这道题测试用例的输入给错了)
3.N个窗口,先打开的窗口后关闭,输出所有或前20个排列
(这个题目反复看都看不懂要求,本来以为是要求输出1-n的所有排列,但测试用例又不是这样,有看懂题目的人能给我讲一下吗)

第2题测试用例:
输入:(第1行表示链表个数为n个,接下来n行的第一个数是该链表的长度,剩下的数是有序链表)
2
4 1 2 3 4
2 3
输出:
1 2 3 3 3 4

第3题测试用例:
输入:
3
输出:
123
132
213
231
321
全部评论
佬,跟你做了一样的题,现在有什么消息了吗
点赞 回复 分享
发布于 03-26 18:11 重庆
牛友们,我终于懂了 第3题题目的意思是n=3时入栈顺序固定为1,2,3(即依次将 1、2、3 压入栈),枚举所有可能的出栈顺序。 出栈顺序:1,2,3 操作步骤:1 入栈,1 出栈。2 入栈,2 出栈。3 入栈,3 出栈。 出栈顺序:1,3,2 操作步骤:1 入栈,1 出栈。2 入栈,3 入栈。3 出栈,2 出栈。 以此类推... 只有出栈顺序为3,1,2时不成立,因为在1 入栈,2 入栈,3 入栈,3 出栈后,此时栈顶是 2,无法直接出栈 1,因为 1 被 2 压在下面。
点赞 回复 分享
发布于 03-22 12:52 四川
第三题是弹栈顺序,就比如123入栈弄不出312的输出序列,直接dfs就行
点赞 回复 分享
发布于 03-21 21:37 辽宁

相关推荐

Express.js是一个流行的Node.js Web应用程序框架,它建立在Node.js的HTTP模块之上,并提供了一组简洁、灵活和易于使用的API,用于构建Web应用程序和API。Express.js的特点包括:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=1730841bd8554b2fa6de4161e81ebb45简洁而灵活:Express.js提供了一组简单而灵活的API,使开发者能够快速构建Web应用程序。它不会强加太多约束,允许开发者自定义和配置应用程序的行为。路由功能:Express.js支持路由功能,使开发者能够定义不同的URL路径和HTTP方法与相应的处理函数之间的映射关系。这样,开发者可以根据请求的URL和HTTP方法,将请求分发到相应的处理函数上进行处理。中间件(Middleware):Express.js中的中间件是一个非常强大且重要的概念。中间件是在请求和响应之间执行的函数,它可以修改请求和响应对象、执行某些特定的任务,或者将控制权传递给下一个中间件。中间件使得可以在请求的不同阶段进行预处理和后处理,例如身份验证、日志记录、错误处理等。视图模板:Express.js支持使用模板引擎来生成动态的HTML(或其他格式)视图。开发者可以选择喜欢的模板引擎(如pug、EJS等),并将其与Express.js集成,以便以一种简单和可维护的方式生成视图。大量的第三方中间件和插件:Express.js生态系统非常丰富,有大量的第三方中间件和插件可供选择。这些中间件和插件可以帮助开发者解决许多常见的任务和问题,例如身份验证、会话管理、数据库集成等。响应处理:Express.js提供了方便的API来处理各种类型的响应,包括JSON数据、静态文件、重定向等。总体而言,Express.js是一个轻量级而强大的Web应用程序框架,它将许多常见的Web开发任务封装为易于使用的API,让开发者可以更专注于业务逻辑的实现而不是底层细节。
点赞 评论 收藏
分享
评论
2
14
分享

创作者周榜

更多
牛客网
牛客企业服务