2012网易校园招聘杭州站笔试

2023-10-29

恩,今天去参加了网易的笔试。题目随后更新。

1.长度为M字符串匹配与长度为N的字符串匹配的时间复杂度?

我查了查,O(M + N)。KMP能做到。

这里:http://blog.csdn.net/meixr/article/details/6456896

2.排序的稳定性:选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法

3.二叉平衡树的插入问题。

此时,插入3之后,画出新的二叉树?

插入3后,变成不平衡的了:如下:




节点5右旋一次:


节点2左旋一次:


4.求两个集合A和B的公共元素

5.Top K 算法;

6.数据库的概念:事务的定义?事务的属性?事务隔离级别的高低?

7.哪种设计模式可以使得调用者不关心具体算法?

   策略模式

8.编程

8.1求解题目:没有看懂

8.2自己实现一个hashtable表

8.3如何限制栈对象的生成?如何限制堆对象的生成?

     之前转载的那篇《C++内存管理》最后一章节——《对象内存大会战》有详细地描述。我转录如下:

     禁止产生堆对象:

     那么怎样禁止产生堆对象了?我们已经知道,产生堆对象的唯一方法是使用new操作,如果我们禁止使用new不就行了么。再进一步,new操作执行时会调用operator new,而operator new是可以重载的。方法有了,就是使new operatorprivate,为了对称,最好将operator delete也重载为private。现在,你也许又有疑问了,难道创建栈对象不需要调用new吗?是的,不需要,因为创建栈对象不需要搜索内存,而是直接调整堆栈指针,将对象压栈,而operator new的主要任务是搜索合适的堆内存,为堆对象分配空间

     禁止产生栈对象:

     前面已经提到了,创建栈对象时会移动栈顶指针以“挪出”适当大小的空间,然后在这个空间上直接调用对应的构造函数以形成一个栈对象,而当函数返回时,会调用其析构函数释放这个对象,然后再调整栈顶指针收回那块栈内存。在这个过程中是不需要operator new/delete操作的,所以将operator new/delete设置为private不能达到目的。当然从上面的叙述中,你也许已经想到了:将构造函数或析构函数设为私有的,这样系统就不能调用构造/析构函数了,当然就不能在栈中生成对象了。

9.C++程序题目。写出运算结果

10.1是普通函数调用虚函数的结果

10.2是默认参数的问题。类似于这道题,记住:默认参数不参与动态绑定,与虚函数无关。

#include <iostream>
using namespace std;

class A
{
public:
    virtual void Fun(int number = 10)
    {
        std::cout << "A::Fun with number " << number<<endl;
    }
};

class B: public A
{
public:
    virtual void Fun(int number = 20)
    {
        std::cout << "B::Fun with number " << number<<endl;
    }
};

int main()
{
    B b;
    A &a = b;
    a.Fun();
 return 0;
}                 //虚函数动态绑定=>B,非A,缺省实参是编译时候确定的=>10,非20 


10.3是C++各种成员变量的初始化问题。

主要是staitc,const,static const的问题;这里有详细地解答

http://blog.csdn.net/yjkwf/article/details/6067267

在C++中,static静态成员变量不能在类的内部初始化。在类的内部只是声明,定义必须在类定义体的外部,通常在类的实现文件中初始化,如:double Account::Rate=2.25;static关键字只能用于类定义体内部的声明中,定义时不能标示为static

      在C++中,const成员变量也不能在类定义处初始化,只能通过构造函数初始化列表进行,并且必须有构造函数。

      const数据成员 只在某个对象生存期内是常量,而对于整个类而言却是可变的因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类的声明中初始化const数据成员,因为类的对象没被创建时,编译器不知道const数据成员的值是什么。

      const数据成员的初始化只能在类的构造函数的初始化列表中进行。要想建立在整个类中都恒定的常量,应该用类中的枚举常量来实现,或者static cosnt。

class Test
{
public:
      Test():a(0){}
      enum {size1=100,size2=200};
private:
      const int a;//只能在构造函数初始化列表中初始化
       static int b;//在类的实现文件中定义并初始化
      const static int c;//与 static const int c;相同。
};

int Test::b=0;//static成员变量不能在构造函数初始化列表中初始化,因为它不属于某个对象。
cosnt int Test::c=0;//注意:给静态成员变量赋值时,不需要加static修饰符。但要加cosnt

附加题目

1.

2.XML的格式问题



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2012网易校园招聘杭州站笔试 的相关文章

  • Linux下特有的reboot()函数的简介

    1 Linux下c程序通过调用reboot 函数 可以实现系统的重启 挂机 Power Down等功能 2 1 对于libc5或libc4来说 库函数的原型声明中包含四个参数 具体函数原型声明如下 include
  • Linux内核浮点运算

    首次在linux内核驱动使用浮点型运算时出现了 undefined reference to aeabi uidiv 等错误 主要参考 Vedic的博客 toradexsh的博客 根据Vedic的博客修改makefile即可

随机推荐

  • vs2012编译boost_1_53_0

    Boost库的介绍 Boost库是一个经过千锤百炼 可移植 提供源代码的C 库 作为标准库的后备 是C 标准化进程的发动机之一 Boost库由C 标准委员会库工作组成员发起 其中有些内容有望成为下一代C 标准库内容 在C 社区中影响甚大 其
  • 数字签名MD4、MD5

    在本文中 模二加 记为 bigoplus 是二进制位的异或操作 如1模二加1和0模二加1都等于0 1模二加0等于1 模 2 32
  • 对机器进行免密之后还是不能免密登录

    查看远程机器的 var log secure日志 有以下错误 Authentication refused bad ownership or modes for directory home loanusr ssh Authenticati
  • Dynamics CRM2013 Lookup Filtering using addCustomFilter

    dynamics crm中对lookup视图的过滤是一个很平常性的需求 在2011的时候都是用添加自定义视图的方式例如下面这段示例代码 span style font size 18px var pEntityName sc stock v
  • Rust学习资料

    Installing Rust Rustup the Rust installer and version management tool Windows Subsystem for Linux Cargo the Rust build t
  • Spring Security Oauth2 刷新token源码分析

    刷新token请求接口 oauth token 参数 grant type refresh token client id client secret 源码解析 1 grant type为固定值 grant type refresh tok
  • 解决Win10家庭版不能使用grpedit.msc

    前言 大家都认为 Windows 10家庭版中并不包含组策略 其实不然 它是有相关文件的 只是不让你使用而已 那么我们让系统允许你使用就好了 操作步骤 1 首先你需要在桌面上新建一个txt文本文档 然后将以下代码复制到这个新建的txt文本文
  • 常见模拟电路设计 三(含仿真) :文氏桥正弦波发生电路

    参加电赛的过程中遇到了一个需要制作正弦波发生器的任务 这里分享一下方案 对于低频 几十K以下 的正线波信号 完全可以由RC振荡器来实现而不需要引入电感L 文氏桥电路的基本结构 首先 红色箭头标明的是文氏桥电路的桥臂 桥臂既是选频部分 也是正
  • ubuntu 20.04中sources.list文件恢复系统默认源

    前言 ubuntu 20 04中sources list文件恢复系统默认源 小白学习 误该后改不回来 找了很久才找到 做个记录 一 sources list文件恢复系统默认源 1 进入编辑 sources list 代码如下 sudo ge
  • JWT解密和python反序列化之[CISCN2019 华北赛区 Day1 Web2]ikun

    知识点 JWT 和cookie一个类型 用于认证身份 将jwt值放在JSON Web Tokens jwt io解密 可以得到结果 但是想要伪造其他的用户的话需要密钥 密钥使用c jwt cracker 中的 jwtcrack 进行破解 破
  • 浏览器辅助神器:油猴脚本使用教程

    油猴脚本 是一段脚本代码 通过它可以让浏览器实现各种各样的扩展功能 和浏览器扩展的作用类似 比如获去链接重定向 微博页面精简 去广告等 相当于给浏览器开了个挂 可以说是浏览器的辅助神器了 相信很多用户都是通过度盘下载脚本认识它的 但它的功能
  • 华为机试OD真题 javaScript和java 叠积木 堆积木

    叠积木 javascript和java两种方式实现 题目描述 给出一个列表如 6 7 5 4 3 2 表示木块的长和宽 当木块的长和宽不大于另个木块的长和宽时 就可以放在上面 此外数组还可以左右翻转 求最多能搭多少层 输入描述 一个二维数组
  • Shell实现自动更新目录名称与文件中版本号信息与时间戳

    背景 修改如下样例目录下所有目录的版本号信息与时间戳 修改如下样例文件中的版本号信息与时间戳 样例目录 find template patch dir template patch dir template patch dir ONIP S
  • 【爬虫实例】下载英雄联盟所有英雄的皮肤

    爬虫 下载英雄联盟所有英雄的皮肤 import requests import os def download pifu ip response requests get ip result response json print resu
  • MongoDB导出命令

    MongoDB导出 1 MongoDB导出命令 1 MongoDB导出命令 在MongoDB的安装目录的bin目录下 有mongoexport这个命令 可以用于mongo的数据导出 mongoexport h ip port port d
  • linux x64 asm 参数传递,NASM汇编学习系列(1)——系统调用和参数传递

    0 说明 本学习系列代码几乎完全摘自 asmtutor com 如果英文可以的 也可以用谷歌浏览器翻译看 可以直接看asmtutor com上的教程 系统环境搭建 我用的是ubuntu18 04 4 server 安装gcc g sudo
  • unix环境高级编程 /ls的实现,以及目录这种文件等

    ls的思路 a gt 目录 b gt 文件名 想要获取某目录下 比如a目下 b文件的详细信息 我们应该怎样做 1 首先 我们使用opendir函数打开目录a 返回指向目录a的DIR结构体c 指向 目录a 的 DIR结构体指针c opendi
  • 全球及中国高端装备制造产业销售前景及投资战略规划研究报告2021-2027年版

    全球及中国高端装备制造产业销售前景及投资战略规划研究报告2021 2027年版 HS HS HS HS HS HS HS HS HS HS HS HS HS HS 修订日期 2021年10月 搜索鸿晟信合研究院查看官网更多内容 第一章 高端
  • 做网络赚钱成功的诀窍

    作者 芊蓝小编 日期 2010年07月30日 来源 互联网 1 不要把网络看得多么深奥难懂 它只是你挣钱的一个工具而已 2 问10个人 不如你自己动脑和手真正解析一件事情 3 不要试图掌握网络上的每个知识 谁都不可能学得完 学会跟你工作最相
  • 2012网易校园招聘杭州站笔试

    恩 今天去参加了网易的笔试 题目随后更新 1 长度为M字符串匹配与长度为N的字符串匹配的时间复杂度 我查了查 O M N KMP能做到 这里 http blog csdn net meixr article details 6456896