• 实习面试总结


    实习面试问题总结

    20130803,上海

    思杰:

           笔试:++、--和*(解引用)运算符的优先级,双向链表的插入和查询写代码。

           面试:“你简历上看没什么项目啊。。。”那时简历做的是不行,格式不好,项目经历写的也粗糙。后面写了函数指针的定义方式、刚看的,没问题。然后问我函数指针有什么用,没答上来,说凡是用函数指针的地方都能用函数名表示(貌似在哪儿看的这句话,是正确的,但是误导我很大。。。),然后问我回调函数是什么?其实这已经明显的的提示我了。。。悲剧的是去年看到过回调函数这个概念,后来也没查,就放过去了。。结果这个问题又悲剧了。。最后问我指针和引用的区别,唉,难度一直在降低。。悲剧的是我也没答好。期间还问工作的2年做了什么。。。这个问题在以后的面试前一定要想清楚怎么答。

           总结:最先面的一家,基本炮灰了。当时3月中旬,还没开始准备,也不知道问什么,也不知道自己哪里不会。

    IBM:

    Linux运行级别,cache一致性检测,(貌似挂了)

    非递归后序遍历二叉树。快速排序,求中位数。(最后来的这个)

    Intel:

    单片机从上电到运行C代码,都做了什么工作(挂了)

           1、初始化列表和构造函数内初始化有什么不同:const变量必须在初始化列表初始化,其他变量可以在初始化列表中初始化,也可以在构造函数体内初始化,但是,在函数体内初始化,其意义是先默认初始化(在初始化列表中),然后再进行赋值。效率降低。

           2、C中的回调函数和C++中的回调函数有什么不同?C++可以使用仿函数的方式(不确定),也就是重载()。【详解】

    SAP:

    笔试:矩阵的行和列都是递增的,怎么找给定的元素在不在矩阵中;▲

    给定一个数组和一个数N,问数组中是否存在2个数的和为N。怎么做才能在O(n)的时间复杂度(可以空间换时间)?▲

    SAP南京创新中心,先去霸面,然后补充笔试,笔试内容和杂,C/C++ | Java 、SQL、HTML、javascript、网络等等。基本只做了C/C++和网络。交卷不到1h短信给了offer。后来没去。其实在南京还是不错了。

    Cisco:

                  1、正则表达式,贪婪/非贪婪匹配

                  2、智能指针,内存管理▲

                  3、虚函数概念,什么时候使用虚函数

                  4、单链表逆转,给定一块内存,生成随机静态链表(写代码)

                  5、快速排序(描述思想,不要求写代码)

                  6、图的路径搜索(给定源点和目标点),打印每条路径。使用哪些数据结构,不同路径的公共节点等(要写代码,但是由于时间关系只写了数据结构)▲

           总结:最艰难的一场面试,从10点到12点多。现场写了2个代码,一个是单链表逆转,后面关于随机的那个写的暴力解法,面试官开始不说这样不好,然后现场比较淡定的写出来了,才说这样效率低。在他的提示下回答出了打乱数组即可。

    当时已经拿到IBM存储部门的开发offer,思科这个部门说是做芯片功能验证,主要工具是c++和perl。犹豫了很久,拒掉了。非常后悔。。。

    思科另一个部门:【大概3月份投的,6月份通知去面试。。】

     1、比较简单的算法,(现场在终端下编写并运行)

    2、const 的用法(写代码测试)

    3、static的用法(并发问题)

    4、socket编程中的select,说下原理?这个一点不会▲

    5、单链表反转(代码)

    6、堆排序的过程(建堆,插入,删除)

    7、冒泡排序,现场写代码

    8、host1将一个ip包发给host2,详细解释包的发送过程。(数据包的头部变化,IP到MAC的转换,使用的协议,协议的运行过程。。)▲

    9、如何通过dump调试程序?最后一个问题,当时没懂什么意思,之前也确实没接触过。程序崩溃掉后会有core dump,然后通过这个信息了解程序在何处down的。不懂。▲


    最后用英语进行项目介绍,基本的adjust parameter这样的单词当时都没想出来,说口语太差,可能没法交流。。。(悲剧了)

    腾讯:

    笔试:

    ▲1、已知一个数组a[N],构造一个数组b[N],构造规则:b[i]=a[0]*a[1]*a[2]...a[N]/a[i];
    要求:

    1、不可以使用除法;

    2、时间复杂度为O(n),空间复杂度为S(0);

    3、除遍历使用的变量外,不可以使用其它变量

    ▲2、问题描述:

    小明在[1,100]之间猜数字。规则如下:

    1、如果猜的小了,会提示小明猜的小了。

    2、如果猜的大了,只会提示对错,不会提示大小。

    3、如果有一次猜的大了,以后猜的无论大小,都只会提示错误,不会提示大小。

    问:至少几次可以猜对数字?第一次应该猜那个数字?

    微软:

           笔试题目已经发过了。这次说面试。就2个题目。

                  1、并发程序的调度问题

                  一个任务分解为若干个子任务,除某些任务外,其他任务必须满足一定条件(它前面的任务结束后)才能开始。结构类似于一个公司的组织机构图,然后自己定义数据结构,写一个调度算法,使整个任务的完成时间最短,效率最高。

                  2、一个大小为n的数组,元素范围为1-n,但是其中一些元素有重复,另一些元素则丢失了。要求找出重复的元素和丢失的元素。最后要求优化到时间O(n)、空间O(1)的复杂度。

                  3、上道题目写的时候忘记stl中bitset类怎么用了,于是面试管让我自己写一个bitset类,能够实现如下操作:

           bitsetbs(20);

           bs[12] = 1;//第12位置位

           bs[3] = 0;//第3位清零

    盛大:

           随机数问题和动态规划。(显然悲剧,都是之前没玩过的。。。)

    ▲是还没有解决或者不懂的,后序日志慢慢补充。




  • 相关阅读:
    eclipse中maven插件,改变默认仓库位置
    maven ArtifactTransferException:failure
    抽象工厂模式
    简单工厂模式,利用反射机制让简单工厂模式变得更灵活
    Android开发之获取系统版本号
    Android开发之ProgressDialog与ProgressBar
    Failed to initialize monitor Thread: Unable to establish loopback connection解决方法
    Android开发之通过反射获取到挂断电话的API
    Android Studio常用插件
    Proxifier设置代理
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3236791.html
Copyright © 2020-2023  润新知