回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

腾讯AI-lab后台一面,自作多情!

全局:

2022(4-6月) 码农类General 硕士 实习@腾讯 - 内推 - 视频面试  | Fail | 应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 小亩_gg85cge 于 2022-5-10 18:58 编辑
. Χ
bg:本人国内软件工程硕士在读(USTC),目前找实习中

. 1point3acres

先看简历,问简历上的项目大概2-30分钟

然后写算法
-baidu 1point3acres
最后问一些基础

. From 1point 3acres bbs

算法
本来用的腾讯面呗,但是一直加载不出来IDE,就用在线文档

1. 给你一个k个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。

   我先手写一个两链表合并的merge方法,重点是k个怎么合并,然后这里想了一下,就先写一个两两遍历,

   Q:还有什么方法吗。A:还可以用优先队列,其实就是维持k大堆。

   Q:怎么实现。A:同水平的链表拿出来放在优先队列里,然后从头部取出。

   Q:是这样吗···balabal。A:对

   Q:又问了一遍,元素放进去排序然后直接拿出来用就好了吗。A:(最后想到了,忘了说要补充元素了)不是放进去排序就拿出来,而是拿出来最小的,然后把同链的补充进去,就像跑道赛马,每次跑出来的一批并不一定是最快的一批,只能确定头名。.google  и

   A:还可以用归并排序(这里说晚了,面试官说还要留时间做下一道题,就没有继续问)
  1. public

  2. ListNode merge(ListNode node1, ListNode node2) {
  3.     if (!node1 || !node2) {
  4.         return node1 == nullptr ? node2 : node1;. 1point 3acres
  5.     }
  6.     if (node1->val < node2->val) {
  7.         node1->next = merge(node1->next, node2);
  8.         return node1;
  9.     }
  10.     node2->next = merge(node2->next, node1);
  11.     return node1;.google  и
  12. }

  13. public ListNode mergeK(vector <ListNode> &lists) {

  14.     ListNode root = nullptr;
  15.     for (int i = 0; i < lists.size(); i++) {.1point3acres
  16.         root = merge(root, lists);
  17.     }
  18.     return root;
  19. }
  20. . check 1point3acres for more.
  21. int main(){
  22.     vector <ListNode> lists(k, nullptr);
  23.     //k个链表初始化
  24.     mergeK(lists);
  25. }
复制代码
2. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬1 或2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

   Q:接下来出一道可能比较少见,但是只要想明白就很简单的题。A:表示害怕。

   Q:不用担心就是一道简单的动归。

   (看题)

   A:这道题我今早刚又刷了。. 1point 3 acres

   Q:这样吗,那你刷了多少了。A:我刷没多久,根据网上精选的刷的,我有同学都刷完了。

   (做题)
.--
   A:这道题就是简单的累加,leetcode官方其实都没用dp数组,用了两个变量。而且还看到一个很巧妙的解法,可以转化为01背包,台阶是背包,每次填充1 or 2.
  1. int climb(int n){
  2.     if(n <= 1) return n;
  3.     vector<int> dp(n + 1);. ----
  4.     dp[1] = 1;
  5.     dp[2] = 2; ..
  6.     for(int i = 3; i <= n; i++){
  7.         dp = dp[i - 1] + dp[i - 2];
  8.     }
  9.     return dp[n]
  10. }
复制代码
[i]

基础

1. 讲一下进程和线程的区别

   资源/调度的单位。在linux中其实都是进程,线程不过轻量进程。在linux中,一开始Bootloader启动先不说,进入保护模式中,就是head32.s中调用start_kernel()开始生成0号进程init,这个方法最后调用rest_init(),rest_init()调用kernel_thread()创建第二个进程,就是1号进程,也是所有用户进程的父进程。然后会继续调用threadadd()生成2号进程,是所有内核线程的父进程。当rest_init()完成后,0号进程就转变为了idle进程。

   我要再讲讲fork的区别吗(不用不用,不用太深入了)

2. 讲一下计网各层的协议. 1point3acres.com
..
   顺序讲了应用层,传输层,网络层,到链路层就不让说了。. 1point 3 acres
. .и
3. 有了解过服务异步的情况吗(没清楚)那就说说遇到的异步吧

   这个还挺多的,像是进程的工作队列,进程fork后执行,软中断下半段,还有http请求的话socket,就是select/epoll这样会阻塞



还有什么想问的

1. 你们部门对实习生哪方面比较看重. check 1point3acres for more.

   主要是服务这方面,要稳定高效,能把服务独立部署起来
. ----
2. 请教了一个cpp右值引用的问题,不太明白使用的场景

   像leetcode就有,嵌套多层递归时,避免开辟空间,可以保证一直操作原数组。
. From 1point 3acres bbs


然后就结束了,已经超时快30分钟了。. 1point 3 acres
[/i]. Waral dи,

[i]本来觉得答得挺好的,问的都讲了。面试官昨天还跟我说,招实习生进来了就是做一些繁琐的工作,也不会看重很难的技术,我还以为稳了结果今天一看,一面就挂了,也是不太懂面试官选人的逻辑。[/i]
[i]求大家加米![/i]. From 1point 3acres bbs

评分

参与人数 4大米 +21 收起 理由
Sparks2000 + 1 给你点个赞!
匿名用户-KFT5B + 18
有机灵魂 + 1 很有用的信息!
王小丫EXQU + 1 谢谢分享!

查看全部评分


上一篇:一言难尽的亚麻中国br面
下一篇:亚麻OA完直接终面吗?有老哥知道这个是啥情况吗
全局:
感谢楼主!
回复

使用道具 举报

🔗
 楼主| 小亩_gg85cge 2022-5-12 10:28:15 | 只看该作者
全局:
. 1point 3acres
希望对你有帮助
回复

使用道具 举报

🔗
有机灵魂 2022-5-20 11:48:22 | 只看该作者
全局:
楼梯那个题其实是个斐波那契数列,看递归表达式就知道。面试其实还蛮讲运气的,有时候没回答对反而录了,都搞对了反而拜拜。没关系,东家不打打西家,也就是打工而已。一起加油啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表