柠檬微趣 C++笔试

回顾做的笔试题(线下在宣讲会上直接笔试)

限时一个小时左右,有三道题,任意完全答对一道即可。

A1 给定一个数组,按照正三角形进行排列,数组的个数为 n*(n+1) /2,n为正三角形的层数,请将此三角形顺时针旋转120度,需要原地旋转此数组,请用C++解答。

A2 输入一个大于0的数字n,给出一个递增的长度为n的数组,如(1,2,3,4,5),将其构建为一个平衡的二叉排序树,请输出二叉排序树的后序遍历结果。
比如输入5,对应的二叉排序树为 1 2 3 4 5 ,最后应该输出 1 2 5 4 3

A3 对文件中的内容进行操作,题目有点长,记不住了。。。

当时看了第1和第2题,最后做的第2题。题目虽然给了函数声明,但需要在本地DEBUG时从输入输出开始写,提交时只需要把包含函数声明的cpp文件submit。最后把算法大体写出来了,但submit失败,有case错了。。。

继续刷题!!!
全部评论
现场构建平衡二叉排序树,也太强了
点赞 回复 分享
发布于 2023-09-20 13:10 北京
需要自己带电脑吗?
点赞 回复 分享
发布于 2023-09-20 13:04 北京
膜拜大佬
点赞 回复 分享
发布于 2023-09-05 20:23 北京

相关推荐

在牛客看了很多面经,第一次自己写,希望分享出来能帮到大家~顺便攒攒人品问题都是面完回忆的,可能顺序有出入也可能会漏一两个9.2 一面1、自我介绍2、实习询问,包括做的工作内容、版本迭代周期、具体用例设计(举例)3、有没有遇到过你认为是BUG开发不认的情况,如果遇到会怎么解决4、印象最深的BUG5、缺陷的生命周期(这个好久没看了有点忘记了,根据记忆随便说了下)6、Web和APP测试的区别(讲了蛮多,面试官很耐心地听我叽里呱啦)7、为什么来做测试8、学校的课程有涉及到软件测试吗还是自学的9、看到我的简历上有提到ADB问了下ADB几个命令10、(之前电话和hr沟通有提到过休闲游戏比较喜欢玩卡牌类型)看面评上说同学比较喜欢玩卡牌游戏,主要是哪些呢,除此之外还玩过哪些休闲类11、卡牌游戏会涉及到抽卡的环节,如何来测试一个卡池UP的概率(有点被问到了,思路比较零零散散地回答了一些,面试官引导了一下又多说了点但是自己感觉还是不是很满意)12、给微信的文件传输功能写测试用例(一开始以为是文件传输助手所以只说了这个,但后来面试官引导说给其他好友传输文件的情况呢所以又补充了一些)13、微信的文件传输用的是HTTP协议还是UDP协议14、UDP协议和TCP协议分别用在什么使用场景下15、智力题:一个池子里有96个苹果,A和B两个人轮流拿,一次1-5个,A要怎么选择拿取策略才能够保证最后一个苹果是自己拿到的。然后是反问环节,问了下这边项目一个版本大概是几个星期,回答说是固定2周迭代一个版本面试总时长半个多小时(感觉我做智力题还占了一段时间),没有特别为难的题目,主要是围绕简历以及测试用例的设计这方面,就是看之前其他面经会问的linux和sql都没问反而问了ADB和计网有一点点意外,总的来说面试体验还不错,面试官人很好,会引导以及肯定,我说完之后会点头说嗯这个思路已经很完善了。9.3他们不上班(据说是阅兵仪式地铁停了所以放假)但是hr小姐姐还是尽职尽责地跟我讲一面过了,二面约在9.49.4 二面1、自我介绍(面试官好像有点卡)2、实习项目版本周期3、项目上线后出现问题怎么办4、从实习中学到哪些东西5、软件测试的这些技能都是自学的吗6、fiddler的抓包怎么做7、除了fiddler还可以用什么做弱网测试8、问我有没有了解过一个什么东西,但是网卡+耳背没听清就说没有太了解,就过了9、一个通关后概率掉落的奖励触发条件是5%,怎么去测试10、怎么测试游戏七天登录11、喜欢玩游戏吗,一般玩哪些类型游戏,觉得我们公司游戏怎么样12、智力题:1元可以买1瓶可乐,2个空瓶可以换一瓶可乐,20元钱最多能喝到多少瓶可乐(之前没见过的题把我打的措手不及,胡乱算了下报给他然后对面反应平平估计是算错了)13、智力题:三角形三个顶点上各有一只老鼠,每只老鼠每次随机向左或者向右移动,问他们不相遇的概率。反问,问了下这个岗位对候选人的哪些特质比较看重,面试官说是逻辑思维能力和态度,然后又问了下实习的事情对方说毕业前来实习都行20分钟结束,KPI面的感觉。二面体验不太好,对方网一直有点卡并且不冷不热的感觉,面的时候就知道要挂了果然两天后收到感谢信
查看26道真题和解析
点赞 评论 收藏
分享
会员标识
09-02 21:49
已编辑
电子科技大学 算法工程师
纯八股一点项目没问,也是挺少见的,柠檬是个好公司,有点想要痛哭流涕当时oc了最后没去,感觉怪不好意思的,秋招应该也不会再投他们家了,发出来攒攒好运柠檬一面+二面4.2投递,4.12笔,4.24一面,4..28二面,一面1.逻辑右移和算术右移的区别?2.一般有符号整数的编码方式?3.补码的规则是什么?4.为什么采用补码去记有符号整数--这个确实没想起来,说了可以首尾成环,可以连续表示什么的……(搜了下其实主要是解决原码和反码的问题(无法统一加减法,零的歧义,溢出不好判断等问题)5.有符号整数,正数和负数的值域不同,为什么会这样?--我说有正数这里会有0的存在,(实际更好的回答,是说原本原码和反码有双0的歧义,补码没有歧义,原本表示-0的10000000在补码中被定义为-128)6.浮点数在计算机里是怎么存的(1+8+23,怎么组合忘了)7.描述一下快速排序8.快排的nlogn是怎么推出来的9.最差的情况下会退化成?10.稳定还是不稳定?为什么不稳定11.STL,挑一些容器说一下内部实现原理(说了vector,list,map,unordered_map)12.Vector怎么扩容13.什么情况下,即使不有序也不会考虑使用哈希表存储数据?--一时半会想不到,说了哈希表可能存在严重哈希冲突导致退化成O(n),还有就是哈希表内存可能占用更多(还有吗?)14.哈希表怎么知道哪几个元素发生冲突了?15.Const Static Inline 说一下使用场景16.C++多态如何实现?17.虚函数作用原理18.构造函数可以是虚的吗?析构呢?静态函数可以是虚的吗?手撕:获取二叉树最大深度的所有结点(用的层序遍历)二面:自我介绍略1.一上来直接让我定义单向链表的数据结构(结构体)2.创建一个ListNode,创建在哪个内存?说下开辟的内存大小3.关于这个内存对齐还有哪些方面能再具体讲一下吗?--主要补充了内存对齐优缺点,以及pragma_back调整内存对齐4.关于堆和栈的区别有哪些,能再讲一下吗?5.对于堆内存的管理手段,有哪些你知道的呢?说一下--除了new malloc这些,还说了两级分配器和内存池6.你刚说的这种做法有什么好处?--减少new/malloc调用开销,降低内存碎片7.你刚刚提到的内存碎片是怎么一回事?--说了内部碎片和外部碎片后面重点开始了8.用ListNode创建两个单向链表,两个单项链表有任意个公共节点 (0~无穷),画出有哪些组合(看图2)一开始的储备只有1,2,3,4,5,6,网上不少文章也是这样的,但面试官提示,有9种。后面磕磕绊绊临场把7,8,9考虑出来了9.假设已知只有两个链表的头结点,怎么确定具体是其中哪一种。临场的解决思路是,(仅供参考)首先要看是否有环(快慢指针),然后仍然要算结点数量,长度,(如果有环的话,需要找到入环位置,确定有效的结点数量)无环情况比较好区分,就是长度差先后走的那一套有环情况:1)如果两表循环能回到自己的头结点,可以得出 8。(8其实就是同一个环,不同头结点位置)2)然后5是2的变体,7是4的变体,9是1的变体,就看开始相交的位置和入环口的关系(9其实有两种情况,一种是两个都有环外部分,另一种是,一个为环,一个有环外部分)3)排除所有其他情况最后为6.10.中间顺便问了下怎么看是否有环,如何找入环位置等常规问题。前后这里口述扯了有20分钟,面试官有一定引导,也还算宽容手撕:给一个7x9的棋盘,选一个位置,围绕这个位置顺时针开始放数字,放30个数。其余置0。注意考虑边缘情况。我没找到原题,个人的思路大概就是螺旋数组II那道题的思路,大循环内4个小循环添数字。注意要加一点判断,如果超出了7x9的边界,那么就跳过,num就不会增加。(仅供参考)
查看30道真题和解析
点赞 评论 收藏
分享
评论
5
21
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务