2015小米在线笔试题

2015小米暑期实习笔试题复盘:从C语言基础到工程素养 大厂实习笔试往往不只是考查算法刷题量,更是在检验计算机基础素养与工程思维。数组与指针的区别、结构体内存对齐、进程与线程的底层机制、TCP与UDP的场景选型,这些看似基础的概念,实则是嵌入式、网络通信、系统开发等真实工程场景的基石。理解它们背后“机制决定代价”的原理,能帮助开发者写出更健壮、更高效的代码。从基础概念到典型应用场景,再回到笔试中的具体题目与答题策略,本文结合当年小米暑期实习笔试题的复盘,梳理高频考点、常见陷阱以及时间分配方法,既适合准备实习笔试的同学查漏补缺,也适合希望夯实计算机功底的开发者对照 阅读详情

1、问题:输入两个32位int型数,求其他们二进制位有多少不相同。

      思路:对输入的两个数m,n进行异或操作结果为a,a的二进制中有多少位为1就是所求结果,

                  让a分别与32个只有一位为1其它是0的int数进行&操作若不为0就可以判断这位为1.

      代码:

#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

int t[32] = {0x00000001, 0x00000002, 0x00000004, 0x00000008,
             0x00000010, 0x00000020, 0x00000040, 0x00000080,
			 0x00000100, 0x00000200, 0x00000400, 0x00000800,
			 0x00001000, 0x00002000, 0x00004000, 0x00008000,
			 0x00010000, 0x00020000, 0x00040000, 0x00080000,
			 0x00100000, 0x00200000, 0x00400000, 0x00800000,
			 0x01000000, 0x02000000, 0x04000000, 0x08000000,
			 0x10000000, 0x20000000, 0x40000000, 0x80000000};

int main()
{
	int m, n;
	int a;
	cin>>m>>n;
	a = m^n;
	//cout << a << endl;
	int oneNum = 0;
	for(int i=0;i<32;++i)
	{
		if((a&t[i])!=0)
		{
			oneNum++;
		}
	}
	cout << oneNum << endl;
	return 0;
}

找到一种新方法:

#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

int main()
{
	int m, n;
	int a;
	cin>>m>>n;
	a = m^n;
	int oneNum = 0;
	while(a)
	{
		oneNum++;
		a = a&(a-1);
	}
	cout << oneNum << endl;
	return 0;
}

2、问题:股市股票买卖,共有n天的股市价格情况,p[i]代表第i天的股市价格,你可以至多买卖两次股票(每次买股票时手中是没有股票的),问如何买卖收益才最大。

      思路:m[i][j]代表从第i天到第j天股票价格的最低值,m[i][j]=min(m[i][j-1],p[j])

                  分两种情况:(1)买卖0次或1次,maxVal = p[i]-m[1][i-1];

                                          (2)买卖两次v[i][j]代表分别在第i天和第j天卖出时收益最大值,则v[i][j] = p[i]-m[1][i-1]+p[j]-m[i+1][j-1],求v[i][j]中最大值。

     代码:

#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

const int NUM = 100;

int m[NUM][NUM];
int p[NUM];
int v[NUM][NUM];

int main()
{
	int n;
	while(cin>>n)
	{
	    memset(m, 0 , sizeof(m));
     	memset(p, 0, sizeof(p));
    	memset(v, 0, sizeof(v));
	    for(int i=1;i<=n;++i)
	    {
		     cin>>p[i];
		     m[i][i] = p[i];
	    }
	
	    for(int i=1; i<n; ++i)
	    {
		    for(int j=i+1; j<=n; ++j)
	     	{
		    	m[i][j] = min(m[i][j-1], p[j]);
	    	}
	    }
	
	    int maxVal = 0;
	
    	for(int i=2; i<=n; ++i)
    	{
    		if(p[i]-m[1][i-1]>maxVal)
    		{
    			maxVal = p[i]-m[1][i-1];
    		}
    	}
	
    	for(int i=2; i<=n-2; ++i)
    	{
    		for(int j=i+2; j<=n; ++j)
    		{
    			if(p[i]-m[1][i-1]>0)
    			{
    				v[i][j] += p[i]-m[1][i-1];
    			}
    			if(p[j]-m[i+1][j-1])
    			{
    				v[i][j] += p[j]-m[i+1][j-1];
    			}
    			if(v[i][j]>maxVal)
    			{
    				maxVal = v[i][j];
    			}
    		}
    	}	
    	cout << maxVal << endl;
	}
	return 0;
}


3、问题:git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如:
base'<--base<--A<--A'
                 ^
                 | --- B<--B'
小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。
(假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0'或'1'组成,长度为n。matrix[i][j]=='1'当且仅当git树种第i个和第j个节点有连接。节点0为git树的根节点。)

输入例子:
[01011,10100,01000,10000,10000],1,2

输出例子:
1
思路:使用最短路径,存储下根节点到目标节点的路径,比较两条路径分离点。

int getSplitNode(vector<string> matrix, int indexA, int indexB)
{
	bool flag[101];
	int n = matrix.size();
	int path[101][101];
	int dist[101];
	int prev[101];
	stack<int> A, B;
	
	int NOPATH = 10000;
	
	for(int i=0; i<n; ++i)
	{
		for(int j=i; j<n; ++j)
		{
			if(matrix[i][j]=='0')
			{
				path[i][j] = NOPATH;
				path[j][i] = NOPATH;
			}
			else
			{
				path[i][j] = 1;
				path[j][i] = 1;
			}
		}
	}

	for(int i=1; i<n; ++i)
	{
		dist[i] = path[0][i];
		flag[i] = false;
		if(dist[i]<NOPATH)
		{
			prev[i] = 0;
		}
		else
		{
			prev[i] = -1;
		}
	}
	prev[0] = -1;
	dist[0] = 0;
	flag[0] = true;
	
	for(int i=1; i<n; ++i)
    {
        int tmp = NOPATH;
        int u = 0;

        for(int j=1; j<n; ++j)
            if((!flag[j]) && dist[j]<tmp)
            {
                u = j;            
                tmp = dist[j];
            }
        flag[u] = 1;   
  
        for(int j=1; j<n; ++j)
            if((!flag[j]) && path[u][j]<NOPATH)
            {
                int newdist = dist[u] + path[u][j];
                if(newdist < dist[j])
                {
                    dist[j] = newdist;
                    prev[j] = u;
                }
            }
    }
    

    while(indexA!=-1)
    {
    	A.push(indexA);
    	indexA = prev[indexA];
    }
  
    while(indexB!=-1)
    {
    	B.push(indexB);
    	indexB = prev[indexB];	
    }
    
    int result = -1;
    while(!A.empty()&&!B.empty())
    {
    	
    	int ta = A.top();
    	A.pop();
    	int tb = B.top();
    	B.pop();
    	if(ta==tb)
    	{
    		result = ta;
    	}
    	else
    	{
    		break;
    	}
    }
  
    return result;
}
另一种方法:使用深度搜索记录下每个节点的父节点及深度然后如下搜索(dep为深度信息,fa为父节点)

int a = indexA, b = indexB;
    while ( dep[a] > dep[b] ) {
        a = fa[a];
    }
    while ( dep[a] < dep[b] ) {
        b = fa[b];
    }
    while ( a != b ) {
        a = fa[a];
        b = fa[b];
    }

以上方法仅是自己的思路,想来还有更好更快的方法希望可以看到。


【2024-03-12】小米春招实习笔试两道编程题解 恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。作者@TechGuide【全网同名】 阅读详情

相关推荐

小米2019秋招手机测试笔试题.docx

小米2019秋招手机测试笔试题小米2019秋招手机测试笔试题

小米秋招笔试题(强化基础)

D 选项和C 选项的区别是对-进行了转译,在集合里面-符号只有在作为区间的连接符(a-z,0-9)使用时才是元字符,在集合中直接使用就是-字符本身,\-等价于-,D选项正确。1、已知const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'],下面可以获取数组最后一项的表达式有。解析:栈区存的是基本数据类型的变量和值,而引用数据类型存放在栈区的是变量和引用地址,它的值放在堆中。7-应用层、6-表示层、5-会话层、4-传输层、3-网络层、2-数据链路层、1-物理层。

蜗牛~~ 2915

小米2019秋招软件开发笔试题.docx

小米2019秋招软件开发笔试题

【小米笔试题】密码破译-C语言实现

题目 我们来做一个简单的密码破译游戏。破译的规则很简单,将数字转换为字母,1转化为a,2转化为b,依此类推,26转化为z。现在输入的密码是一串数字,输出的破译结果是该数字串通过转换规则所能产生的所有字符串。 输入: 多行数据,每行为一个数字串。 输出: 多行数据,没行对应输出通过数字串破译得到的所有字符串,并按照字符串顺序排列,字符串之间用单个空格 分隔,每行开头和结尾不允许有多余的空格。 样例输...

学益得的博客 2809

小米2019秋招系统软件开发工程师笔试题

小米2019秋招系统软件开发工程师笔试题

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 528

Perfect Rectangle

http://www.cnblogs.com/grandyang/p/5825619.html class Solution { public: bool isRectangleCover(vector>& rectangles) { unordered_set st; int min_x = INT_MAX, min_y = INT_MAX, max_x = INT_MIN, m

popvip44的博客 384

嵌入式常用通信协议 #概述

嵌入式通信协议

AFK3060的博客 2117

C++开发笔试真题

时间复杂度,排序、编译过程、网络模型

学习-记录-分享创造价值 1561

ROS教程(四):RVIZ使用教程(详细图文)

前言 根据前面的教程已经学会了创建功能包,那么本篇文章主要内容则是通过节点来发布数据至RVIZ

Leslie的博客 17万+

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1062

名企笔试:2015小米暑期实习笔试题(二进制) 2017-04-05 算法爱好者

世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299 输出例子: 7 C++源代码: // xiaomi problem 2017.04.05 // 2017.04.09 by wyj /* 名企笔试:2015小米暑期实习笔试题(二进制) 2017-

wyj_2016的博客 848

XDMA 驱动安装与性能测试全流程解析

本文详细解析了XDMA驱动的完整安装与性能测试流程。从环境准备、源码获取、编译安装到驱动加载与设备验证,逐步指导用户打通FPGA加速卡与主机间的高速数据通道。重点介绍了如何通过官方测试脚本进行功能验证与带宽性能测试,帮助用户评估XDMA驱动的实际传输效能,为AI推理、高频交易等低延迟高带宽应用奠定基础。

weixin_29216049的博客 526

小米2015笔试第二题

小米2015笔试第一题求两个多项式乘积的问题相信大家在中学时经常碰到,它是这样的一个问题: pa=an*x^n + an-1*x^(n-1) + … + a1*x + a0 pa=bm*x^m + bn-1*x^(m-1) + … + b1*x + b0 其中,an, an-1, …,a0, bm, bm-1, … ,b0 都是整数,范围[-10000, 10000]。0<=n, m <=10

u011610179的博客 479

SDR 和 DDR 的区别

SDR 和 DDR 的差别,最明显提现在传输速率和频率上。DDR SDRAM与SDRAM的基本结构是相似的,最根本的区别在于DDR 支持在一个时钟周期内传输两次数据,,SDR 只能传输一次数据。

串起点滴 1961

第10章 shellcode实战:18 神级开源shellcode工具:donut

Donut是一款shellcode生成器,可将C/C++、C#生成的PE文件转换为shellcode文件,同时支持JS、XSL、VBS脚本转换为shellcode。以下“原生”EXE/DLL指非托管PE文件(包括并不限于C/C++、delphie等编写生成的可执行文件),可以直接由系统加载运行,区别于.Net生成的托管文件。被处理exe/dll为32位程序,则需要用32为的shellcode加载器启用,exe/dll为64位的就用64位shellcode加载器启用。

李小咖·网安技术库 2797

字符串相关操作————2015小米笔试内容

这个是一道2015校招小米公司的笔试题,希望对大家有用~~~

求知欲 1270

YOLOv11改进 | 上采样篇 | YOLOv11引入CARAFE上采样

在本文中,我们提出了一个通用、轻量级、高效的特征重组算子CARAFE来实现这一目标.CARAFE有几个吸引人的特性:(1)大视场。(2)内容感知处理。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~大视场:不同于以往的方法(如双线性插值),CARAFE能够在更大的感受野内聚合上下文信息,从而捕获更丰富的语义信息。

tsg6698的博客 925

2015小米校招技术类笔试题

一. 问答题 1. 大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串。比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?这么简单的题目对想要成为小米工程师的你来说肯定不是问题。不过提醒一下哦:时间复杂度和空间复杂度越低的算法,得分越高。 C++: bool isPalindromeNumber(long num)

古韦的专栏 1710

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

几个论坛上看到的2015小米笔试题

一、 题目描述  大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串,比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?时间复杂度和空间复杂度越低的算法,得分越高。 c++:      bool isPalindromeNumber(long num); java:      boolean isPal

佛曰不可说 1848

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

从2015小米笔试题看大厂实习必考基础:C/C++、操作系统与网络

在互联网技术面试中,无论技术栈如何变迁,操作系统、C/C++内存模型与网络协议始终是衡量工程师底子的核心标尺。从进程线程的同步互斥到TCP的状态流转,从指针内存布局到HTTP的会话机制,这些底层原理构成了技术能力的地基。掌握这些知识,不仅是为了应对笔试中的算法题与代码改错,更能帮助开发者在真实场景中定位线上故障、优化系统性能。对于准备大厂实习或初级岗位的求职者而言,理解小米等系统型公司的出题逻辑,可以更高效地构建知识体系。本文结合2015年小米暑期实习笔试题的考察方向,拆解其背后的能力要求,并延伸到小米OS

weixin_32060671的博客 358

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

2015小米笔试/阿里内推面试

小米笔试 1.给出一个数字,判断是不是回文串?时间和空间复杂度越小越好 我TM就是逗比,居然做题的时候偶数个直接返回False!!!!!!估计是没望了T T,好忧桑!!!!!!!!!!!!! 2.计算多项式的乘积。给出两个多项式,进行计算。 Input:(1,4),(5,3),(1,1),(-4,0) //(系数,指数) Output: //如上 3.给一堆人,进行排序,有些人有特殊要

菜逼成长录 1446

2015小米笔试题目(南京地区)

总得来说,小米的笔试题蛮有意思的,他首先说一suo

xyc310898673的专栏 1488

2015小米校园招聘笔试题

1.判断回文数字

MSchumacher的专栏 755

小米笔试题「小米大礼包」Python代码

本文首发于我的个人博客:Suixin’s Blog 前几天一位朋友问我一道小米的笔试编程题,一看题目,这么简单?直接遍历list再用if判断不就行了。事实证明我还是too naive,写了几句便写不下去了……WTF…… 话不多说,上题。 事实上,题目的本质为判断一个集合是否有子集之和等于一个固定的数字。可将问题分为两个子问题: 包含最后一个数字,循环其余N-1个数字判断是否等于M-set...

KEEP CODING 1052

java笔试题_研发工程师历年企业笔试真题汇总

研发工程师一般公司都会涵盖java工程师,c++工程师,如果有c#工程师,python工程师,golang工程师等也会包括在内,当然,有的公司运维类的,测试类的也考这个试卷,具体不一定~~阿里巴巴2015研发工程师A笔试卷_阿里巴巴笔试题_牛客网 阿里巴巴2015研发工程师A笔试卷腾讯2014校招研发工程师B笔试卷_腾讯笔试题_牛客网 腾讯2014校招研发工程师B笔试卷百度2011研发工程师笔试卷...

weixin_39875028的博客 704
上一篇: 条款27:尽量少做转型操作
下一篇: 2014WAP校园招聘笔试题
知行且执行
博客等级 码龄14年 38粉丝 73原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值