2022暑期实习-面经-腾讯/百度

对了,第1,2题好像是想问DMA ,但是我回答了先把数据放在缓存减少切换次数,感觉也差不多啊

代码:

最长公共前缀,我的方法(用的文本编辑器,没运行- -,早知道用VS)

#include<iostream>
#include<limits.h>
#include<string>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
     vector<string> vs;
     string s;
	 int  num;
	 cin>>num;
     while(num--)
     {
		cin>>s;
        vs.push_back(s);
     }
     int n = vs.size();
     int  minlen = INT_MAX;
     for(int i = 0; i < n; i++)
     {
        int size = vs[i].size();
        minlen = min(size,minlen);
     }
     int index = 0;
     while(index < minlen)  
	 {
	     int i = 1;
	     while(i<n)
	     {
	        if(vs[i][index] != vs[0][index])
	        {
	          break;
	        }
            else i++;
	     }
         if(i==n){index++;}
         else break;
	     
     }
     cout<<vs[0].substr(0,index);
     cout << index;
	 return 0;
}

复试一面:

也是小姐姐面试官!很温柔

首先先让我自己讲一下自己的项目啥的

因为之前发现只对着简历不太好讲,我把项目整理了PPT

讲的时候估计前面背景讲太多,小姐姐让我讲技术,

我就把算法什么的讲了一下,然后具体问了我们这个算法是怎么实现的,然后讲一下

感觉自己讲得不是很顺利(磕磕绊绊,大哭)

然后光讲算法模型就讲了很长时间

然后又问我这些算法落地有吗?后一个有,前一个还在孵化

然后部门业务多,我这边算法多,是不是业务接触少(的确少,不过我会努力补足的!拜托给个机会姐姐~)

问了如果有几十万条信息需要储存,怎么比较高效

1,消息中间件(解耦,缓冲)kafka,rabbitmq,socketmq(结果没细问)

2,用限流算法(计数,漏桶,令牌桶)

然后问我还有啥办法?本地持久化

1,减少上下文切换次数(DMA)

2,  减少拷贝技术(零拷贝,mmap)

写到这里,我感觉应该是想问分布式- -(感觉没回答到点子?其实kafka就是分布式,姑且算我答了吧姐姐)

又问了如果多人合作,怎么减少冲突(合并代码)

1,提前就进行顶层设计,规划命名和接口

2,用github

如果是多个人合作同一个模块,往一个代码里合并,怎么避免冲突

1,我们人太少目前都是独立完成模块

2,  合一个代码其实用 能完成git(git merge ,git rebase)(这个之前讲了,就没再提,不知道算不算对)

git,git merge

利用SVN合并代码(merge)

然后问了一下未来规划,实习时间

反问:我把上面那个问题又问了一下小姐姐,然后用的kafka,spark这种底层组件,还有专门部门运维,部门用的话直接调接口(酸了酸了)

然后讲了一下部门实习转正式的良好生态,然后因为最近实习招聘高峰,所以让我再看看

不知道这到底是算过还是没过,许愿还有下次复试或者HR面吧!!拜托拜托

复试二面:

第二次复试跟面试官约在了晚上7点,感觉一天在实验室做了项目,没有去巩固自己的基础,还有点虚

面试前一个小时都在看基础,忘了吃饭,导致一开始脑子有点晃,说话也中气不足,提示一下大家面试之前记得吃好饭

上来面试官先让我介绍一下自己

介于之前的经验,我就简略地说了一下本科,硕士学校以及目前研究方向

然后说了一下自己的奖项(其实就是一堆奖学金,还有一个数据竞赛的奖)

然后说了一下自己了解的语言技术栈以及软件,总结了一下自己长处

重点:项目介绍

我把每个项目从立项依据,到算法模型,到平台框架以及服务器选择都说了一下

(最好可以有可视化的东西展示,我这里提前截了几张图片)

然后提了自己很注重知识积累以及自我提升,有运营自己的技术博客和个人主页,基本每天都会更新

提问:

其实大部分都是问了一下跟项目相关的实际问题

1,项目的框架怎么做的,项目有对标客户吗?

(前期用的python+flask,前端用巴拉巴拉,后期整体往java技术栈挪)

  每个项目根据场景对接不同客户,还在孵化

2,项目团队的职能怎么设置的

     项目体量大,涉及人员多。我们实现了多带多的团队协作模式,

    然后依据算法,数据,平台等设置主管,然后在每个小组垂直设置相应职位的人员

     需要提前定义好框架,接口命名等

     然后每天更新动态,每周有进展会议

,3,项目运行有什么困难?怎么解决的

   1,首先是项目用到云端的tensorflow服务,http接收二进制的图片数据,返回结果太慢,

   后来前台进行二进制转base64字符串,后台增加解码模型与原模型对接,实现加速返回结果

  2,程序前端同时多个http请求的时候,数据读取出现错误

       通过在后端配置nginx实现负载均衡。(想用kafka,但是没有条件)

4,目前个人职业规划,前景规划

     我想做工程开发,因为看到一个东西实际落地会很有成就感balabala 

5,入职时间等

还有其他小问题都是针对个人项目问的,参考意义不大,就不写了

这次面试时间很快,都是问做过的项目,所以回答也比较顺利吧。

竟然没问基础,不知为何还有点惋惜- -

希望HR面顺利!!     

HR面

跟三面隔了一天半,中间甚是煎熬。24中午HR小姐姐加了我的微信,然后填了信息采集表,下午三点半就面试了。

首先依旧是自我介绍

(跟复试差不多流程,不过这次更简化,并且着重强调了自己的技术栈和用到的工具与部门目前的是一致的(根据前几轮得到的信息))

然后问了我目前对自己的规划(说自己希望做工程开发)

然后问了自己有没有一直坚持的事情(当然有,我的博客,我一直很用心在更新哒)

然后问了我跟别人相比的优势(比较严谨,做事不会半途而废,比较注重平时学习积累)

问了老家哪里,考虑在base地入职否?(当然考虑)

还有未来什么时候能入职(6月,小姐姐说可以早点吗?我说我尽量申请)

然后反问环节:问了一下实习会有mentor一带一不,然后有没有转正机会(小姐姐说具体看表现,优先留实习生)

最后就大家互道感谢,辛苦

还没完就来了云证,立马云证!现在正在录用评估

我圆满了,最想去的腾讯OFFER如果OC,我都没动力参加百度和阿里的面试了- -

许愿offer快来!!

百度

机试

好家伙,单选多选编程题,没几个会的

第一次在牛客做题,感觉很不友好,尤其那个自测输入输出,还有报错的框框,没有leetcode顺手

顺便由于忘了二维数组排序重载咋写,现场写了二维数字冒泡的排序,直接超时,连1分都没有

此处贴一下重载priority_queue排序函数

或者

#include <utility>
#include <iostream>
#include <vector>
#include <algorithm>

using  namespace std;

typedef pair<int, int> score;

vector<pair<int, int> > score_matrix;

bool cmp(pair<int ,int>a, pair<int,int> b)
	{
		return a.first < b.first;
	}

int main()
{
	for(int i = 5;i > 0;i--)
	{
		score score1;
		score1.first = i;
		score1.second = i*i;
		score_matrix.push_back(score1);
	}
	for(int i = 0; i<score_matrix.size(); i++)
	{
		cout<<score_matrix[i].first<<"\t"<<score_matrix[i].second<<endl;
	}
	
	sort(score_matrix.begin(),score_matrix.end(),cmp);
	
	for(int i = 0; i<score_matrix.size(); i++)
	{
		cout<<score_matrix[i].first<<"\t"<<score_matrix[i].second<<endl;
	}
	return 0;
}

然后单选多选(一道题基本上我做8分钟的样子,留给编程题就40分钟= =):

依稀记得考了LINUX查看网络IP最多的指令,sort -nr|-uniq c之类的

还有PHP函数命名大小写问题

还有问回文算法的空间时间复杂度(问了很多代码的空间时间复杂度)

还有IP地址划分计算,一个局域网最少120个IP问哪两个子网划分可能正确

还有

T(1)= 1, T(N)= 2 T(N/2) +  O(M) 时间复杂度(Mlog2N)

while(cnt < n) {i += 2; cnt += i} 时间复杂度我直接用等差数组算的(0+2*X +0)*X/2 =N,X=根号N

百度一面

都是在3.28一天面完的,时间很紧迫

一面是百度云的小姐姐

简单自我介绍

基础:

1,程序的编译过程

2,讲一下缺页中断

3,进程通信的方式

4,内存泄漏

5,类里面自动构建的函数(构造与析构)

6,虚拟内存的好处

7,多路复用的作用以及方式

编程题:

判断回文链表(快慢指针+反转)

百度二面

二面是自动驾驶的面试官

依旧自我介绍以及项目的问题

基础:

多态是什么

C++的智能指针用过哪些

K-means聚类

最小生成树

了解深度学习吗?讲一下Inception-V3(项目用到了)

编程:

用指针声明动态二维数组(只想起一维的)

使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组
              
           int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                    
           for(i=0;i<row;i++)             //为指针数组的每个元素分配一个数组
               b[i]=new int[col];

最长无重复字符的子字符串(滑窗)

 

百度三面(很波折)

11.30显示到号结果等了两个小时没有面试官来,又重新排队,到两点才重新开始面试,中间也没吃饭,状态很差o(╥﹏╥)o

三面是搜索引擎的面试官

项目+自我介绍

问了智力题

 64匹马8个跑道最少几次赛出最快的4匹马

我当时只想到归并

64 分成8*8,把每队前4名取出,得到32匹

32 分成8*4,把每队前4名取出,得到16匹

16 分成8*2,把每队前4名取出,得到8匹

剩下8匹再比一次,得到结果

一共比了8+4+2+1 = 15次

如何优化?

我当时就直接宕机,处于听不懂人话状态

面试官说一句我重复一下,但是不进脑子,最后给我解释思路的时候都快让面试官崩溃了(*^▽^*),一个尴尬,

感觉自己脑子还是太笨,完全想象不出来场景,只有马戏团那个游戏画面一直停留在脑海

好了,下面就看看正确解法吧:

2021.04.03

百度这边过了

京东、美团,做了笔试,来不及参加面试了

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值