首页 > 华为社招面试经历(Java工程师)
头像
蓝的天白的云
发布于 2020-08-05 12:42
+ 关注

华为社招面试经历(Java工程师)

一面

1、首先是自我介绍下,因为是技术面试,所以介绍的主要偏项目经验这方面,所以我们先就项目的所用框架、所需技术等聊了一些;

2、期间又问我多线程和高并发的相关知识,这个也是java绕不过去的门槛之一;

3、然后问了我mybitshibernate的不同点;

4、还有springapache自己封装的一些方法问我用过哪些;

5、最后问了我一个arrayListlinkendList的区别;

答:从其底层的结构上来答linkendList是双向的链表结构,arrayList是基于动态数组的数据结构。linkendList在执行getset时需要移动指针,所以效率不如arrayList,但linkendListadd remove的效率比较高,因为arrayList要移动数组的数据。

 

机试

需要注意两点:

①你只能命名类名为Main,不能是其他的;

②需要注意的是可以在自己的IDE上调试,但是一定要把自己运行测试好的代码要全部copy到代码框内,包括导包的代码。

 

下面是我的一道oj题目:

骰子有6个面,现在用123456分别代表一个骰子的左,右,前,后,上,下的初始位置,用R代表向右滚动一次,用L代表向左滚动一次,可以向前翻转(用F表示向前翻转1次),可以向后翻转(用B表示向右翻转1次),可以逆时针旋转(用A表示逆时针旋转90度),可以顺时针旋转(用C表示逆时针旋转90度),现从初始状态开始,根据输入的动作序列,计算得到最终的状态。

输入描述:

初始状态为:123456

输入只包含LRFBAC的字母序列,最大长度为50,可重复

输出描述:输出最终状态

输入例子:RA

输出例子:436512


 代码如下:

`import java.util.Scanner;

public class shaizi {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

String [] str_array = {“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 <str_array.length;i++)

    {

        t = t*10 +Integer.valueOf(str_array[i]);

    }

    System.out.println(t);

}

static void rv(String [] str_array,String s)

{

    switch(s) {

        case "L":

            change(str_array,0,5);

            change(str_array,1,4);

            change(str_array,0,1);

            break;

        case "R":

            change(str_array,0,4);

            change(str_array,1,5);

            change(str_array,0,1);

            break;

        case "F":

            change(str_array,2,5);

            change(str_array,3,4);

            change(str_array,2,3);

            break;

        case "B":

            change(str_array,2,4);

            change(str_array,3,5);

            change(str_array,2,3);

            break;

        case "A":

            change(str_array,0,2);

            change(str_array,1,3);

            change(str_array,0,1);

            break;

        case "C":

            change(str_array,0,3);

            change(str_array,1,2);

            change(str_array,0,1);

            break;

        default:

            break;

    }

}

static void change(String [] str_array,int a,int b)

{

    String temp = str_array[a];

    str_array[a] = str_array[b];

    str_array[b] = temp;

}

HR面:

谈薪资,谈离职原因,谈职业发展,谈家庭构成,基本的定级和大概的薪酬;

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐