华为Java社招面试(已拿到offer)
前段时间,在8月月底的时候,华为cloudsop部门给我打来了电话,询问我是不是要参加面试,那个时候,我恰好正处在换工作的时间段里,所以呢,我就把简历发送给了华为的hr,人事进行审核以后,历经了一系列的面试、机试,最终我顺利地拿到了offer,出于对未来职业规划的考虑,我手里还有其他的一些offer,目前还没有确定下来,顺便在这儿分享一下我面试华为的一些经历。
华为身为通讯行业里的龙头,对学历相当看重,楼主大概率是卡在并非特别出色的那一类985、211院校上了,致使最终定级不太理想,不过总体而言华为的面试不算很难,它主要分成电话技术面,机试,技术综合面,hr综面 。
1.电话技术面试
问了我最近的项目,其中有少部分底层框架的原理,时长大概四十分钟,并且主要部分是关于项目的提问 。
1.MyBastis如何映射,MyBatis原理。
2.如何实现高可用的,你的系统怎么达到高可用的?
3.redis底层实现,redis是如何更新缓存的?
4.集合框架有哪些是线程安全的?哪些是非安全的?
你们在开发的时候,是怎样去开展单元测试的,覆盖率究竟是怎样的情况,自动化测试又是通过何种方式得以实现的?
6.SpringMvc执行流程,java常用设计模式。
7.eureka究竟是怎样确保可用性的呢,其底层的实现方式又是怎样的情况下,它与zookeeper存在着什么样的区别呢?
8.高并发相关的问题,concurrent相关包。
9. 为何选用redis来当作缓存,而非其他诸如kafka之类的消息队列,还有项目的稳定性情况呢 ?
10.事务一定会锁表吗?
11.java并发和线程同步,同步机制,锁具体解释一下。
搭建12.redis集群,存在分词算法,还有redis主从同步机制。
经常会用到的线程池,threadlocal究竟具备怎样的用途,处理多线程并发的解决方式是什么 。
2.技术综合面试
进行现场面试时,偏巧碰上华为在本月最后那个周末加班,面试时间约在了上午10点,抵达现场之后发觉有极为众多的人员前来参与面试,等候大概40分钟后,进入到一间存在诸多面试官的屋子,每个人都有一张桌子,桌子前方矗立着一把椅子,好似是流水般的面试形式。有个技术馆,看上去大概三十几岁年纪,头发呈现花白之色,说起话来速度相当快呀像是忙着赶时间似的,期间没有再次就技术框架方面的东西向我发问,始终围绕着我的项目展开讨论,要求我亲手绘制出其中的项目交互图,还有涉及的相关表设计,以及所运用到的算法,并且询问当时是怎样进行考虑的,主要在高可用、高性能这些方面问得比较多呢。
3. HR面试
那么,在紧接着完成技术面试之后,出来等待了大概10分钟,随后便再次步入到方才的那个房间,来到位于另一张桌子跟前的hr面前,面试我的hr看上去比刚刚那位技术官显得还要更为老成一些,依据他自己所讲呢自己从事hr这份工作已经有十几年时间,(头发……显然啦是没剩多少头发了,难道hr这份工作也需要加班到凌晨时分吗?)期间呢无非就是进行各种各样的背景调查事务,为了能够精确地制定出适宜的薪资包,我最终还是万分无奈地把目前的薪资状况毫无保留地跟他和盘托出,(实在是毫无办法!毕竟这可是个经验丰富的老鸟!)。华为年终奖与考评直接关联,因此务必留意你于上一家公司的评级,以及在hr面试进程里所遇情况,这些并非毫无根据,其皆有记录,故而必须诚实,切不可过度夸张包装,提及谈offer,或许是因我先前面试表现尚可,hr颇为干脆,我所期望的薪资与最终结果相差不大 。
4.准备材料
人力资源专员在最终确定薪资的时候,需要提供,最近三个月的工资流水或者截图,毕业证书、学位证书、大学英语四六级证书的照片,身份证正面以及反面的照片,这是一般的公司都会要求的吧 。
5.网上填写个人资料
而后便是登录人力资源给您邮件所发送的链接,登录进去之后填写一连串的个人相关信息,其中涵盖学历,工作经历,项目经验,华为亲属相关信息,这类似于一份华为版本的简历。
6.机试题
这一通过之后,还需要去做一份华为社招的机试题,该试题出自牛客华为社招的题库,题目难易程度按照网上人的说法,存在有难有易的情况,基本上全部都是一些关于字符串、集合比较基础算法的题目,在做这份试题之前,可以在牛客上面先进行练习。
下面分享一下本人在机试种遇到的。
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;
/**
有五张牌,每张牌都由牌的大小以及花色构成,牌的大小有2到10、J、Q、K、A这些情况,牌的花色是红桃、黑桃、梅花、方块这四种花色当中的一种,要判断牌型。
有一种牌型,它被称作同花顺,是同一花色的顺子,就像红桃2与红桃3以及红桃4还有红桃5和红桃6这样的组合。
这样一种牌型,它被称作牌型2,具体是四条,也就是四张有着相同数字的牌,再加上一张单张,就好像是红桃A、黑桃A、梅花A、方块A这四张一样数字的牌,再添加上黑桃K 。
其一,牌型为3,此牌型称作葫芦,即三张呈现相同数字的牌,配合一对牌,举例来说,像红桃5、黑桃5再者梅花5,加上方块9以及梅花9 。
牌型为4,是同花,即同一花色,像是方块3此方块7那种方块10样方块J这般方块Q如此。
一种牌型是5,它是顺子,此顺子是花色不一样的那种,就像红桃2、黑桃3、红桃4、红桃5、方块6这样的。
* 牌型6,三条:三张相同 + 两张单。
* 牌型7,其他。
* 说明:
* 1)五张牌里不会出现牌大小和花色完全相同的牌。
* 2)前面出现的牌型,要比后面出现的牌型大,就好像同花色的顺子,比四条这种牌型大,按照这样的顺序依次类推下去 。
*/
public class Main {
公共的静态的无效的空返回值的 主方法 带有 字符串数组类型的参数 是这样写的。
将一个名为sc的对象,创建为一个新的Scanner类型的实例,并且该实例是基于系统输入来进行初始化的 。
ArrayList list = new ArrayList<>();
while (sc.hasNextLine()) {
String s = sc.nextLine();
list.add(s);
if (list.size() == 5) {
int type = getCardType(list);
System.out.println(type);
list.clear();
}
}
}
本就是私有的静态的整型的获取卡片类型的方法,其参数是一个数组列表 , 。 list) {
int size = list.size();
ArrayList numList = new ArrayList<>();
HashSet numSet = new HashSet<>();
ArrayList colorLsit = new ArrayList<>();
HashSet colorSet = new HashSet<>();
for (int i = 0; i < list.size(); i++) {
String num = list.get(i).split(" ")[0];
String color = list.get(i).split(" ")[1];
if (num.equals("J")) {
numList.add("11");
numSet.add("11");
} else if (num.equals("Q")) {
numList.add("12");
numSet.add("12");
} else if (num.equals("K")) {
numList.add("13");
numSet.add("13");
} else if (num.equals("A")) {
numList.add("14");
numSet.add("14");
} else {
numList.add(num);
numSet.add(num);
}
colorLsit.add(color);
colorSet.add(color);
}
int temp = 7;
//同花顺或者同花
if (colorSet.size() == 1) {
Collections.sort(numList);
for (int i = 0; i < numList.size() - 1; i++) {
if (Integer.parseInt(numList.get(i + 1)) - 1 == Integer.parseInt(numList.get(i))) {
if (i == numList.size() - 2) {
temp = 1;
}
continue;
} else {
if (temp > 4) {
temp = 4;
}
}
}
}
//四条或葫芦
if (numSet.size() == 2) {
Collections.sort(numList);
if (temp > 2) {
temp = 2;
}
} else {
if (temp > 3) {
temp = 3;
}
}
}
//三条
if (numSet.size() == 3) {
if (temp > 6) {
temp = 6;
}
}
//顺子
if (colorSet.size() > 1) {
Collections.sort(numList);
for (int i = 0; i < numList.size() - 1; i++) {
if (Integer.parseInt(numList.get(i + 1)) - 1 == Integer.parseInt(numList.get(i))) {
if (i == numList.size() - 2) {
temp = 5;
}
continue;
} else {
break;
}
}
}
return temp;
}
}

下面是我从其他朋友笔试中搜集到的,希望有帮助
题目一
package com.hw.loy;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 给定一个正整数,给出消除重复数字以后最大的整数
* 输入描述:
* 正整数,注意考虑长整数
* 输出描述:
* 消除重复数字以后的最大整数
* 示例1
* 输入
* 423234
* 输出
* 432
*/
public class Main {
public static void main(String[] args) {
扫描器,扫描器,它是一个新创建的,用于从系统输入中进行扫描的扫描法器 。
String sc = scanner.next();
List list = new ArrayList();
for (int i = 0; i < sc.length(); i++) {
list.add(sc.charAt(i));
}
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < i; j++) {
if (list.get(i).equals(list.get(j))) {
if (Integer.valueOf(list.get(j + 1).toString()) >把列表中索引为j的元素转为字符串后,再通过Integer.valueOf方法对其进行转换 ,。
list.remove(j);
i--;
break;
} else {
list.remove(i);
i--;
break;
}
}
}
}
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
}
System.out.println();
}
}
题目二
package com.hw.tiku;
import java.util.Scanner;
/**
骰子存在六个面,当下以1、2、3、4、5、6依次代表一个骰子的左、右、前、后、上、下起初位置。
分别用R来表示向右滚动一回,用L来表示向左滚动一回,可以进行向前翻转这一动作(用F用于表示向前翻转一次),。
能够进行向后的翻转操作,此操作以B来表示,代表向右翻转一次,还能够进行逆时针的旋转操作,该操作以A来表示,意味着逆时针旋转90度,。
可以进行顺时针旋转,(用C来表示逆时针旋转90度的情况),现在要从初始状态起始,依据输入的动作序列,去计算得出最终的状态。
输入描述:
初始状态为:123456
输入只包含LRFBAC的字母序列,最大长度为50,可重复
输出描述:输出最终状态
输入例子:RA
输出例子:436512
* @author loy
* @desc
* @date 2018/8/29
*/
public class ShaiZi {
public static void main(String[] args) {
定义一个名为scan的对象,这个对象是通过使用Scanner类来创建的,而Scanner类是从系统输入中获取数据的,最终完成了这样一个创建操作 。
关于字符串数组,有着这样一组内容,它是由多个字符串元素所构成的,其中包含了“1”,包含了“2”,包含了“3”,包含了“4”,包含了“5”,直至包含了“6”。
String s = scan.nextLine();
String [] s1 = s.split("");
int len = s.length();
for(int i = 0 ; i< s1.length;i++)
{
String ss = s1[i];
rv(str_array,ss);
}
int t = 0;
for( int i = 0; i
7.定薪定级
机试结束后,华为人力资源会依据你先前的表现以及你所提供的薪资包,来确定你的职级与薪资,之后会按照确定好的职级、薪资以及你提供的材料进行提交上报,进而等待领导确认,在这个期间,速度快的话需要两周时间,速度慢的话,网上有人说有的要一个月甚至更久,所以在这中途要保持耐心去等待,不要急着辞职,因为华为的入职流程同样耗时很久,需要先去预约东莞的医院进行体检,还要确定报道日期等 。
8.offer发放
将近一个月的时间我差不多一直在等待,中间,由于职级以及薪资定得稍微高了那么一点儿,遭到过一回驳回处理,之后又再次重新给定了一回级,上报之后才顺利获取到了offer,华为工资主要划分成为两部分,当月薪资等于基本工资加上绩效工资,试用期一律都是6个月,看起来是不会打折的,至于年终奖,这情况是动态变化的,得依据部门效益以及个人新一年的考核评定来确定,评级为A是四个月,当然,这是极为困难的,基本上不太可能达成,评级为B是两个月,大多数情形是B,C的话就不用我再多说了,三年内要是没有nzj,就没办法涨工资和参与定级。。
华为是极为了不起的公司,然而却颇为压抑。它宛如一座围城,其中的人员渴望出去,而外部的人员则不顾一切地想要冲进去。正是由于其加班文化以及432薪酬规则,才使得它在行业中处于领先地位。不管你是否认可其企业文化,最终它必定能够给予你所期望的回报。
留意,华为现如今的研发体系似乎都迁移至东莞松山湖的华为基地呢,那里的环境相当可以,要是在深圳居住的话,早晚是会有接驳车的。
Copyright © 2018 All Rights Reserved 版权所有 宁国人才网 苏ICP备2024139598号-6
地址:安徽省合肥市瑶海区 EMAIL:
Powered by PHPYun.