百度移动软件开发面试题(20131018)

2023-05-16

1.new与malloc的区别?

分析:

一、new和malloc都是用于申请动态内存。new使用delete释放空间,malloc使用free释放。new和delete是C++中的运算符,而malloc和free是C中的函数。

二、对于非内部的数据类型的对象而言,光用malloc/free无法满足动态对象的要求。这是因为对象在创建的时候需要自动执行构造函数,对象消亡的时候需要自动调用析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。


2.堆与栈的区别?

分析:

栈(stack)——由编译器自动分配释放,并且栈是向低地址扩展的数据结构,是一块连续的内存的区域。堆(heap)—— 一般由程序员分配和释放,若程序员不释放,程序结束可能由OS回收。堆是向高地址扩展的数据结构,是不连续的内存区域。


3.有一个文件,存储了10000+数据记录,如何找出重复次数小于10次的记录?

分析:

海量数据处理问题,这个网上现成的代码很多。思路就是通过哈希函数将记录散列到不同的子文件中,然后处理子文件,合并结果。

类似海量数据题目的总结


4.正整数n的操作有两类:如果n为奇数,可以加1或者减1;如果n为偶数,可以除以2。设计一个函数,求出最少需要多少次操作使得n=1?

分析:

看到这道题,我们的第一个想法就是用二进制去处理。关键是如何判断在n为奇数时到底是加1还是减1。自己找两个例子分析一下就可以发现规律,当n的二进制码的最后3位是‘111’时,需要加1。其他奇数情况需要减1。偶数情况下,当然是除以2了。

参考代码:

int count_Operation(int n)
{
	//计数操作次数
	int count=0;
	//主要是在n为奇数的情况下,如何判断
	//是执行+1操作还是-1操作
	while (n!=1)
	{
		if((n&0x111)==0x111)
			n+=1;
		else if ((n&0x1)==0x1)
			n-=1;
		else
			n/=2;
		count++;
	}
	return count;
}



PS:这只是一面的问题,答得不好,被刷了。给大家分享一下吧,攒人品了。

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

百度移动软件开发面试题(20131018) 的相关文章

  • HTML知识点

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • SpringCloud:seata 服务端启动以及介绍(1)

    SpringCloud xff1a seata 服务端启动以及介绍 文章目录 SpringCloud xff1a seata 服务端启动以及介绍关联文章1 seata是什么1 1 四种事务模式1 2 三种角色 2 启动seata 服务端 x
  • 简单审批流程表设计

    审批配置表 xff08 approval config xff09 字段名称 类型 长度 约束 备注 code varchar 64 not null 审批流程code type tinyint 1 not null 审批方式 xff1a
  • 学习笔记—— unreferenced local variable

    file c xff08 xff09 warning C 39 xxx 39 unreferenced local variable 变量XXX定义了 但是在程序中没有使用到 发出的一则警告 目前来看 xff0c 不影响程序的运行
  • STM32定时器配置为编码器模式(转)

    文章目录 一 编码器原理 二 为什么要用编码器 三 STM32编码器配置相关 四 STM32实战代码 五 一些注意 参考 一 编码器原理 如果两个信号相位差为90度 xff0c 则这两个信号称为正交 由于两个信号相差90度 xff0c 因此
  • java实现倒计时

    package timer import java util Calendar import java util Date import java util Timer import java util TimerTask java演示倒计
  • linux终端字符串转字符画

    概述 xff1a 将字符串 xff08 非图像 xff09 转换成字符画 xff0c 效果如图 xff1a lt
  • fastboot -- 如何刷系统中各个img文件

    Android系统adb刷机 作者 xff1a 郑鹤翔 在android的各个可用软件中 xff0c adb fastboot是最常用的一种 xff0c 作为开发人员 xff0c 我们需要经常的进行内核 xff0c 系统代码等的修改 xff
  • AndroidStudio Kotlin项目搭建

    简介 xff1a 本文主要先大概介绍一下怎么在as上搭建kotlin项目 xff0c 然后主要具体介绍kotlin的语法 安装kotlin plugin 在AS 3 0及以后的版本是自带Kotlin plugin的 xff0c 但是如果你现
  • Mariadb安装之后的各种设置

    1 启动MariaDB 安装完成MariaDB xff0c 首先启动MariaDB xff0c 两条命令都可以 systemctl start mariadb 或者 service mariadb start 设置开机启动 systemct
  • python读取文件失败解决方案

    python读取文件失败解决方法 我的目录如下 python text files pi digits txt python text files file reader py 1 python默认读取当前根目录 注意 Linux 目录间用
  • from matplotlib.cbook import is_string_like, el ImportError: cannot import name 'is_string_like'

    Traceback most recent call last File 34 321 py 34 line 2 in lt module gt import matplotlib pyplot as pt File 34 C Progra
  • STM32F4XX 采集编码器的溢出处理

    STM32F4XX定时器16位 xff0c 采集编码器时候会在0xFFFF溢出 xff08 假设配置period 61 0xFFFF xff09 假设不溢出的情况下1ms之内编码器变化的最大范围小于0x7FFF xff0c 则关于溢出则可以
  • dependencyManagement和dependencies的区别

    dependencyManagement和dependencies的区别 参考 xff1a http zhaoshijie iteye com blog 2094478 pom xml中build标签 cpf2016的博客 CSDN博客 还
  • VScode播放网易云音乐(详细讲解)

    步骤 安装插件 xff1a VSC Netease Music 按shift 43 ctrl 43 p xff0c 输入 nete 出现下图 在按shift 43 ctrl 43 p xff0c 输入 nete 即可选择播放音乐 xff08
  • 安装和配置openssl

    Steps to download compile and install are as follows Note Replace 0 9 8e with your version number Downloading OpenSSL Ru
  • 自定义异常的使用

    下面是定义一个自定义异常的例子 xff0c 开发中可以以此作为参考 xff0c 根据项目需求编写自己的异常类 package com thinkgem wlw modules job service 自定义异常要继承 Exception 类
  • Ant中的classpath配置和使用

    Ant手册中配置classpath采用classpath标签 xff0c 可是我发现这样配置总是不好用 xff0c 还是直接用path设置classpath 一 xff09 设置classpath的方法 lt path id 61 34 p
  • 在运行jar包中正确读取资源文件

    可能有不少初学者会有这样的困惑 xff1a 在你的代码里调用了一些资源文件 xff0c 如图片 xff0c 音乐等 xff0c 在调试环境或单独运行的时候可以正常显示或播放 xff0c 而一旦打包到jar文件中 xff0c 这些东东就再也出
  • Ant发布war包时,任务卡住不动也不报错

    使用ant给项目发布环境时 xff0c 任务卡住不动也不报错 xff0c 在网上查询了些资料 xff0c 估计是ant执行任务时虚拟机内存不够用 针对这个问题 xff0c 可以通过以下两种方法解决 xff1a 1 xff09 在javac节

随机推荐