小红书二面只做了道题

岗位是智能分发C++

一面内容:
问内存分页机制,如何用代码判断分页大小,我答得用系统调用吧,面试官问不用系统调用怎么判断,我:不会;
问动态链接库和动态链接库的区别,我说不太会C++,面试官说但是我们这个是C++岗
算法题是对链表进行快速排序,不能改变节点值,我说不改变值不太好弄,能不能用归并排序,面试官说也行。

12点面试结束,十分钟后竟然收到二面邀请了,面试时间中午1点。

二面只做了道算法题:值为从1到n的n个节点能够组成多少种二叉排序树,一开始思路不对导致25分钟才写完,然后面试结束了。。
#小红书##面试##面经#
全部评论
二面我连题都没做 纯纯kpi
5 回复 分享
发布于 2023-08-19 13:59 福建
内存分页机制是指将物理内存和逻辑内存进行划分,并按照固定大小的块(页)进行管理。在程序运行时,逻辑内存被分成若干个固定大小的页框,物理内存也被划分为与页框大小相同的物理页框。当程序访问一个逻辑地址时,内存分页机制将逻辑地址划分为页号和页内偏移量,根据页号可以找到对应的物理页框,然后再加上页内偏移量得到实际的物理地址。 要判断分页大小,一种常用的方法是使用系统调用,例如可以使用`getpagesize()`函数来获取当前系统的分页大小。但是如果不使用系统调用,可以通过一些间接的方式来推断分页大小,例如通过检查内存布局的差异、尝试访问越界地址来触发错误等手段。不过这种方法往往是非标准的,并且可移植性较差。 动态链接库(Dynamic Link Library,DLL)是一种在程序运行时被加载的共享库文件,它包含可由多个程序共享的代码和数据。动态链接库可以在程序运行时动态地加载到内存中,并通过符号表解析来实现函数和变量的共享。与之对应的是静态链接库(Static Link Library),它在编译时静态地链接到程序中。 动态链接库和静态链接库的主要区别在于链接时间和加载方式。动态链接库在编译时并不直接与程序静态地链接,而是在程序加载或运行时由操作系统动态地加载到内存中。这种方式可以提供更灵活的共享和更新机制,减小程序的体积。静态链接库则在程序编译时就将库函数和程序代码静态地链接在一起,生成一个独立的可执行文件。 关于链表的快速排序,确实在不改变节点值的情况下,实现起来较为复杂。你提到了可以使用归并排序,这是一种比较适合链表排序的算法,它可以在保持节点值不变的前提下,通过合并操作进行排序。归并排序的基本思想是将链表不断地分成两部分,分别进行排序,然后再将排序好的两部分链表进行合并。这样就可以实现链表的快速排序。
4 回复 分享
发布于 2023-08-20 10:49 浙江
二面没做题,听他讲了半小时,然后面完就挂
1 回复 分享
发布于 2023-08-19 14:38 山东
这里可以糊弄一下,比如说分页大小默认是4K,平常编程的时候也很少关注这些,但是应该可以通过系统调用或者linux命令来查看分页大小
点赞 回复 分享
发布于 2023-08-20 20:16 江苏
有约三面还是感谢信了呀
点赞 回复 分享
发布于 2023-09-03 01:06 广东
求问一下楼主这个岗后来有后续吗
点赞 回复 分享
发布于 2023-10-17 01:46 上海

相关推荐

评论
8
31
分享
牛客网
牛客企业服务