秋招华为云面经(已泡池子)
一面
- 自我介绍
- 最近有没有学什么东西:我说最近正在看操作系统
- 讲一下最近看操作系统印象最深的模块 :说了下中断和进程切换
- 算法题:有一个长度为n的二进制01串,在一些情况下能对他进行一些操作。 二进制中任意一个“00”可以改变为“10”。 二进制中任意一个“10”可以改变为“01”。 求此二进制数字最大为多少? 输入描述: 输入二进制数字字符串。 在80%的数据中,1 <= 字符串长度 <= 1000。 在100%的数据中,1 <=字符串长度 <= 100000。 输出描述: 输出转换后的最大二进制数字字符串。 样例输入: 0010 样例输出: 1101
个人思路:从前往后遍历当前字符 - 如果为1,则不需要变换,跳过即可 - 如果为0,看下一位 - 如果为00,变为10 - 如果为01, 看下一位 - 如果为001, 跳过则不需要变换,跳过即可 - 如果为010, 则 010 -> 001 -> 101
- 反问环节
二面
- 自我介绍
- 说一下linux进程切换过程: 感觉一面面试官应该没记录我的具体回答,感觉重复了,我又说了下一面的东西。
- 算法题:明明家从1号站点出发,开车去旅游,一共要经过n个站点,依次为2、3… …、n。 由于明明带上了心爱的小猫,在每个站点都要为小猫提供一条鱼用作美餐(包括1号站点)。 除了1号站点只能吃1号站点买的鱼,其站点既可以吃当地站点买的鱼,也可吃之前经过的站点买了存入车载冰箱中的鱼。但车载冰箱消耗的电能来自汽油,所以每条鱼用冰箱保存到下一站的费用与各个站点的汽油价格有关。 为了使问题简化,我们约定: 1) 车从某站开出来时油箱中都是此站点刚加的汽油; 2) 车载冰箱能容纳一路上所需要的所有鱼。 即:每条鱼的总费用既包括购买时的费用,也包括用冰箱保存鱼的费用。 编程实现: 为了降低小猫吃鱼的总代价,明明预先在网上查到了n个站点的鱼价和汽油价格,并据此算出每个站点买一条鱼的费用以及从该站点到下一站用冰箱保存一条鱼的费用。你能帮明明算出这一路上小猫吃鱼的最小总费用吗? 输入: 第一行:站点数n,1 < n < 100。 接下来的n行:每行两个以空格分隔的正整数,分别表示这一站买一条鱼的费用,以及从这一站把每条鱼保存到下一站的费用。其中,两个费用均小于10000的正整数。 输出: 最小总费用,是一个正整数 ,例如
-
3 1 10 2 20 3 0 -> 15
个人思路:从最后一站开始,计算这一站吃的鱼在前面哪里买费用最低 ,负责度比较高O(n2), 不过也没让我用更优解。
-
- 反问环节
三面
三面主管面的话都是偏主管的问题,记不大清,大致回忆了几条:
- 自我介绍
- 遇到的最大技术挑战
- 做过最有成就感的事情
- 我说自己跨专业考研家里不理解,还问我最后这么解决的。
- 对华子的了解
- 有没有其他offer
- 反问
已经泡池子,感觉今年华子的池子真的是深不见底,加上江湖传闻可能大量发13级,我感觉我是不敢赌了。
#面经##秋招面经##华为面试#