腾讯实习基础研究面试(包含一个编程题)

来源:互联网 发布:长高知乎 编辑:程序博客网 时间:2024/06/05 11:55

          腾讯基础研究面试经历:

          前天进行了腾讯基础研究第一轮面试,本以为自己笔试挂了,因为室友和实验室的都收到第二天的面试时间和地点,唯独我没收到;

          第二天计划跟他们一起自己去霸面,结果刚计划动身,却发现室友打电话说要我签到(9:30),我听得晕乎乎的,签到?后面才知道,原来是我面试的通知,就只能放弃霸面,继续赶过去面试,路途中就收到腾讯的工作人员电话,连续接到两个电话;我解释了说我没有收到面试短信,于是我马上过去,匆匆忙忙跑过去面试,跟前台说了一下情况,就马上安排了面试,原来我们那个组都没有收到腾讯面试短信通知,不过腾讯挺人性化的,没收到会打电话咨询是否面试;

         面试中,面试官首先会让你自我简单介绍,然后自己说说自己的项目,中途打断询问了一下细节,项目聊完后,再问我是否熟悉机器学习算法,我说了解SVM、LR,她让我描述逻辑回归,可能赶得匆忙,面试头脑一片空白,就想到哪里,就讲讲LR的优缺点,逻辑回归中线性可分与不可分的不同,后面要我讲讲逻辑回归的线性可分;问的挺基础的不知道自己讲的是否清楚;然后聊了一下学习成绩情况,聊完在说给我15分钟,写一个程序,她走开还特别说了一句,你如果提前做完也可以提前叫我;我心里一听到要写程序就有点慌了,不会考个算法题吧!

         题目是:输入一个正整数x,返回一个各位(个十百千万等)数字相乘为x的最小的数;

         例如:     15

         则返回     35    (因为3*5=15,35比53要小)

         面试中写的很烂,心里即使知道边界条件,也不想写了,可能是中午时间了心不在焉;面试官把后面的面试成员也叫了进来,我就整理思路写了一下,然后她过来引导我,我后面面试完了想了想发现我的方法并没有解决她的情况,估计对我挺失望的,然后结果肯定是失败了。

一次与腾讯的面试就这样错过了,确实挺可惜的;虽然这次腾讯实习失败了,不过也对自己有一个促进与查漏补缺的作用;腾讯是一个比较注重基础的公司;以后对自己编写程序确实需要加强,本人C++编程能力比较水,还未做就有编程恐惧症;

         代码如下:

#include <iostream>#include<vector>#include<math.h>using namespace std;int func(int x) // 输入正整数x,返回一个各位(个十百千万等)相乘为x的最小数y;{int MinY = 0;if (x < 0)return -2;           //input error!if (x >= 0 && x <= 9)return x;vector<int> contrainNum; //x数约数从9到2依次存入,每次遇到相应的约数,则跳出当前循环,进入下一次;while (x>1){for (int i = 9; i >= 2; i--){if (x%i == 0){contrainNum.push_back(i);x = x / i;break;}else if (x%i != 0 && i == 2)return -1;              // not exits MinY;}}for (int i = 0; i < contrainNum.size(); i++){MinY += contrainNum[i] * pow(10, i);}return MinY;}int main(){int x;while (cin >> x){cout << func(x) << endl;}system("pause");return 0;}


        

0 0