• 诺基亚社招C++面试记录


      我在写这篇博客的时候,心情特别复杂,对于诺基亚的面试,并没有投简历,是简历挂在猎聘网上,猎头找到我问我考虑杭州的机会吗?仔细询问才知道是诺基亚,在和猎头聊天的时候问我对诺基亚了解么?我心中对诺基亚的认知还停留在手机产品部份(此处觉得自己好无知),后了解到诺基亚已经将手机相关卖给了微软,现在主要做通信服务,然后就想着试试吧,猎头将简历推给诺基亚后,两天后在午休时间12:30的时候接到了技术经理的电话,说是需要做一个简单的电话面试,约好一点,沟通还比较顺利,电面内容如下:

    1、讲一下你的工作经历?

    2、为什么选择现在就职的公司?

    3、你工作中觉得收获最大的是那个项目?

    4、你觉得在技术这条路上你有什么优点?

    5、C和C++的区别?

    6、看你的简历,了解常用算法?你了解哪些算法?

    7、你对无线通信的看法?

    8、你为什么要考虑诺基亚的工作机会?

    9、进程间通信方式?共享内存是怎么实现进程间通讯的?

    10、虚函数和纯虚函数有什么区别?

    11、linux怎么对shell脚本加权限?

    12、双向链表是如何实现的?

      以上就是电面的全部内容,总体偏基础,持续时间20分钟左右,面试完后,技术经理表示想让我过去杭州面试,我考虑自己在深圳比较远,想进行线上笔试,面试官告诉我说既然我比较珍惜这次机会,建议我去公司看看,也可以了解公司,路费和一晚住宿报销的,这么一说我觉得还可以,毕竟实地看看好点,我决定去杭州,约了周一。说好后,我立马买票,联系同学找住宿,一切都准备好了,这时候,戏剧性的事情发生了。。。我的车票是周天的,在周六大清早收到12306官网的短信,车次取消,我查看当天的动车,全部取消了,真是尴尬,我想周六去,可是周六票也没有,飞机票问了猎头好像是部分报销,而且因为车次取消是因为台风,猎头建议我注意安全,重新约时间。电话联系面试官,说希望协商面试时间,对方说需要看公司的情况再定。第二周周一接到电话,说还是希望像我说的先网上做一道编程题,我感觉不好(猎头跟我讲过在周天诺基亚有一个大型招聘会,我觉得是人已经招聘够了,不好拒绝我而已)我表示希望在周二笔试,当天回家安装TeamViewer ,约定周二八点。第二天,我早早下班回家等待笔试,到时间戏剧性的事情又出现了。。。。。。TeamViewer 连接不上,我慌了,网上搜索,看到说要注册的,立马注册,但是还是连不上,显示登陆到您的账户有问题,我很奇怪,以前有用过,记得不用登陆,直接id密码连接的,换登陆账号,卸载掉重下载安装,还是不行,这时候面试官发来短信问是否连不上,我回复是的,并发过去我的id密码,对方也连不上我,后约定第二天笔试,简直崩溃,多重波折。因为我是在官网下载的新版13,考虑到对方版本问题,自己找了两台笔记本连接,13确实不行,下载版本8刚开始可以,但是不稳定,后来直接连不上了,后来本机的软件一直显示连不上服务器,崩溃,索性不折腾了,到睡觉前再测试,发现13又可以了,心里简直凉凉的。

      第二天,如约连上了远程,发现是leetcode界面,一道编程题,题目如下:

    给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。

    示例:

    输入: s = "abcdefg", k = 2
    输出: "bacdfeg"
    

    要求:

    1. 该字符串只包含小写的英文字母。
    2. 给定字符串的长度和 k 在[1, 10000]范围内。  

      leetcode原题目链接:https://leetcode-cn.com/problems/reverse-string-ii/description/

     1 class Solution {
     2 public:
     3     string reverseStr(string s, int k) {
     4         int len = s.length();
     5         if (k <= 0)
     6             return s;
     7         for (int i = 0; i < len; i = i + 2*k)
     8         {
     9             if ((len - i) > 0 && (len - i) < k)
    10             {
    11                 //全部反转
    12                 s = reverse(s, i, len - 1);
    13                 break;
    14             }
    15             if ((len - i) > k && (len - i) < 2*k)
    16             {
    17                 //反转前K个字符
    18                 s= reverse(s, i, i + k - 1);
    19                 break;
    20             }
    21             //反转前K个字符
    22             s = reverse(s, i, i + k - 1);
    23         }
    24         return s;
    25     }
    26     string reverse(string s, int left, int right)
    27     {
    28         if (left >= right)
    29             return s;
    30         while (left < right)
    31         {
    32             char temp = s[left];
    33             s[left] = s[right];
    34             s[right] = temp;
    35             ++left;
    36             --right;
    37         }
    38         return s;
    39     }
    40 };

      在做完题后,发现不会用测试功能,以前是在牛客网刷题,发现leetcode右下角提示登陆才能提交,自己手动跑了个简单的例子,发现没问题,但是还是想测试下别的,四处找,终于找到了Playground调试按钮,进去后发现好几个没用的函数,删掉了,将main函数做了修改,发现根本无法接受输入(可能是我第一次用,没测试好),后来将测试用例写死测试,发现对的,电话告诉技术人员后,对方改了k的值,进行测试,是对的,然后让我讲讲思路,讲完后告诉我他们上周末进行了招聘,需要老大给他同步招聘的信息,在周五的时候给我答复,心里好凉凉,我鼓起勇气问是不是自己没机会了?对方说你还是有机会的,需要根据老大的信息同步,额。。。

      就此面试结束,静等后续结果,希望好运吧。

      笔试完后自己找了leetcode的中文网站,找到了题目,写了一遍,发现运行超时,好慌,感觉自己是不是题目做错了,case没测试到位,仔细检查才发现是自己写的时候粗心循环条件错了,笔试的代码是没问题的,毕竟标签是简单,做错就太打击自己了,还好虚惊一场,静等后续结果吧,祝自己好运!

  • 相关阅读:
    我要开博!
    JavaScript变态题目
    jquery easyui小记
    Object.prototype.toString.call
    JavaMe开发,模拟器打开一片空白~
    开放●共享●创新
    Spring启动时指定properties文件B 依赖于properties文件A的配置项x (Spring multiple properties files picking one by config item in parent properties file)
    ECC证书操作汇总(ECC certificate operations summary)
    关于spring cloud gateway配置文件的总结
    arm汇编学习(一)
  • 原文地址:https://www.cnblogs.com/kks170716/p/9369255.html
Copyright © 2020-2023  润新知