进群,感谢🙏
点赞 1

相关推荐

昨天 23:58
已编辑
门头沟学院 C++
这个公司三面的有点难啊,有些问题确实没考虑过。--------------------面试官说他们找的是工程师而不是码农,其实也没什么问题,但是我感觉问题应该不完全在我,似乎目前我的资源只能让我学习到这里,我不知道怎么才能符合一家公司的要求,这很难.----------------------(提到了堆栈的大小对比) 问堆栈大小是多少,为什么栈比较小,为什么用堆,栈不行吗  为什么栈不能支持动态申请...好像还有,想起来再补充(map和unordered_map)不明确数据的情况下怎么选, hash时间复杂度是O(1)那如果key很大,此时不就不是O(1)了吗,怎么理解这个O(1)...--------我是真不会了呀,有老哥可以指导一下吗,应该怎么答呢-----------怎么理解这个O(1):Big Oh notation is a relative representation of the complexity of an algorithm.Big Oh 表示法是算法复杂性的相对表示形式。representation: BigOh (in its simplest form) reduces the comparison between algorithms to a single variable. That variable is chosen based on observations or assumptions. For example, sorting algorithms are typically compared based on comparison operations (comparing two nodes to determine their relative ordering). This assumes that comparison is expensive. But what if the comparison is cheap but swapping is expensive? It changes the comparison; 表示法:BigOh(最简单的形式)将算法之间的比较简化为单个变量。该变量是根据观察或假设选择的。例如,排序算法通常基于比较操作 (比较两个节点以确定它们的相对排序) 进行比较。这假定比较成本高昂。但是,如果比较便宜但交换很昂贵怎么办?它改变了比较;总结回答的话我认为可能有两个点比较关键: 相对、简化为单个变量-------------------![Why can't we allocate dynamic memory on the stack?](https://stackoverflow.com/questions/26296228/why-cant-we-allocate-dynamic-memory-on-the-stack)找到这样一个链接,但是作者没有同意其中任何一个观点在32位应用程序中,虚拟地址空间通常只有2GB。栈需要连续的内存空间,因此需要为其保留一定大小的虚拟地址空间。如果栈的大小较大,那么可以创建的线程数量就会减少,因为每个线程都需要一定量的虚拟地址空间来存储其栈。例如,默认情况下,一个线程的栈大小是2MB,那么在2GB的虚拟地址空间中,你最多能创建1024个线程。如果增加每个线程的栈大小,例如到100MB,那么栈空间的预留就会占用更多的虚拟地址空间,这样系统最多只能支持20个线程。这对于某些应用程序,如Web服务器或GUI应用,可能会产生性能瓶颈或资源限制问题。这可能也是一个原因#牛客创作赏金赛#------------------------------说句题外话,他们怎么保证他们的答案/问题就一定是正确的呢,或者说,有的问题有非常大的误导性.并不一定能检查出面试者的水平(当然,这只是我的疑问,毕竟我也不能保证我的想法就一定是正确的)
投递柠檬微趣等公司10个岗位 牛客创作赏金赛
点赞 评论 收藏
分享
牛客网
牛客企业服务