华为Java社招面试(已拿到offer)

2023-05-16

华为Java社招面试(已拿到offer)

  • 之前8月底华为cloudsop部门打电话叫我要不要面试,当时正处于换工作的期间,于是就把简历发给华为hr,人事审核后经过一些列面试、机试,最终顺利拿到了offer,出于未来职业规划的考量,本人手里还有其他的一些offer,还没有定下来,顺便在此分享一下我面试华为的一些经历。
    • 1.电话技术面试
    • 2.技术综合面试
    • 3. HR面试
    • 4.准备材料
    • 5.网上填写个人资料
    • 6.机试题
      • 题目一
      • 题目二
    • 7.定薪定级
    • 8.offer发放

之前8月底华为cloudsop部门打电话叫我要不要面试,当时正处于换工作的期间,于是就把简历发给华为hr,人事审核后经过一些列面试、机试,最终顺利拿到了offer,出于未来职业规划的考量,本人手里还有其他的一些offer,还没有定下来,顺便在此分享一下我面试华为的一些经历。

华为作为通讯行业的龙头,还是非常看中学历的,楼主可能正卡在了不是特别优秀的一类985、211院校,导致最终定级不是特别理想,但总的来说华为的面试不是很难,主要分为电话技术面、机试、技术综合面、hr综面。

1.电话技术面试

主要问了我最近的项目,中间也有少部分底层框架的原理,大概四十分钟。

1.MyBastis如何映射,MyBatis原理。
2.如何实现高可用的,你的系统怎么达到高可用的?
3.redis底层实现,redis是如何更新缓存的?
4.集合框架有哪些是线程安全的?哪些是非安全的?
5.开发中你们如何进行单元测试?覆盖率如何?自动化测试怎么达到?
6.SpringMvc执行流程,java常用设计模式。
7.eureka怎么保证可用性,及底其层实现,与zookeeper有什么区别?
8.高并发相关的问题,concurrent相关包。
9.为什么使用redis做缓存而不是其他的消息队列入kafka,以及项目的稳定性。
10.事务一定会锁表吗?
11.java并发和线程同步,同步机制,锁具体解释一下。
12.redis集群搭建,分词算法、redis主从同步机制。
13.常用的线程池,threadlocal有什么用,多线程并发解决办法。

2.技术综合面试

现场面试,正赶上华为本月最后一个周末加班,约在了早上10点,到现场后发现有很多人都来面试,等了差不多40分钟,去到一间有很多面试官的房间,一人一张桌子,面前立着一把椅子,像是流水面试。这个技术馆看着差不多三十几岁,头发花白,说话相当快,像在赶时间,中间没有再问我技术框架上的内容,一直围绕我的项目讨论,让我手绘我的项目交互图,相关表设计,用到的算法,当时是怎么考虑的,主要还是高可用,高性能方面问的比较多。

3. HR面试

接着技术面试完,出来等了差不多10分钟,就又进到刚才的房间,去到另一张桌子的hr面前,面我的hr看着比刚刚的技术官还要老成,据他自己说自己做了十几年的hr,(头发…显然是没什么头发了,难道hr也要加班到凌晨?)中间无非就是各种背景调查,为了开出适宜的薪资包,我还是将目前的薪资状况跟他和盘托出了,(没办法这是个老鸟啊!)华为的年终奖和考评直接挂钩,所以一定要注意你最近在上一家公司的评级,还有hr面试过程中的问题,都不是空穴来风,他都有做标记,所以一定要诚实,切勿包装的离谱,谈offer的话,可能是我之前面试的还算不错,hr还是相当的爽快的,我要的薪水也是和最终的差不太多。

4.准备材料

hr在最终定薪需要提供,最近三个月的工资流水/截图,毕业证、学位证、四六级证书照片、身份证正反面照片,这是一般公司都要的吧。

5.网上填写个人资料

接着就是登录hr给你邮件发的连接,登录进去填写一堆的个人信息, 包括学历,工作经历,项目经验,华为亲属信息,这个类似一份华为版的简历。

6.机试题

这一通过后,还要做一份华为社招的机试题,出自牛客华为社招的题库,题目难易程度据网上的人说,有难有易,基本上都是一些字符串,集合比较基础的算法的题,做之前可以再牛客上面先练一下。
下面分享一下本人在机试种遇到的。


import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;

/**
 * 五张牌,每张牌由牌大小和花色组成,牌大小2~10、J、Q、K、A,牌花色为红桃、黑桃、梅花、方块四种花色之一。 判断牌型:
 * 牌型1,同花顺:同一花色的顺子,如红桃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 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> 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();
            }
        }
    }

    private static int getCardType(ArrayList<String> list) {
        int size = list.size();
        ArrayList<String> numList = new ArrayList<>();
        HashSet<String> numSet = new HashSet<>();
        ArrayList<String> colorLsit = new ArrayList<>();
        HashSet<String> 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 (numList.get(0) != numList.get(1) || numList.get(numList.size() - 1) != numList.get(numList.size() - 2)) {
                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) {
        Scanner scanner = new Scanner(System.in);
        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()) > Integer.valueOf(list.get(j).toString())) {
                        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;

/**
 * 骰子有6个面,现在用1,2,3,4,5,6分别代表一个骰子的左,右,前,后,上,下的初始位置,
 * 用R代表向右滚动一次,用L代表向左滚动一次,可以向前翻转(用F表示向前翻转1次),
 * 可以向后翻转(用B表示向右翻转1次),可以逆时针旋转(用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) {
        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;
    }
}

7.定薪定级

机试过后华为人力资源会对你之前的表现和你提供的薪资包,给你定你的职级和薪资,之后会按照这个职级和薪资以及你提供的材料提交上报,等待领导确认,期间快的话2周,慢的话网上有的也有一个月甚至更久的,所以中途要耐心等待,先别急着辞职,因为华为的入职流程同样很久,需要先预约东莞的医院体检,和报道日期等。

8.offer发放

本人差不多等了也有一个月左右,中途因为职级和薪资定的略高了一些,被驳回过一次,后面又重新定了一次级上报后才成功拿到offer,华为的薪资主要分为两部分,当月薪资 = 基本工资+绩效工资,试用期都是6个月,貌似不打折,年终奖嘛,这个是动态的,需要看部门效益和个人来年的考核评定,评级为A为四个月,当然这个是相当难的,几乎不太可能,评级为B是两个月,多数情况是B,C的话不用我说了吧,三年内没有nzj,不能涨工资,参与定级。。
华为offer

华为是个非常伟大的公司,但也相当压抑,像一座围城,里面的人想着出来,外面的人拼了命往里冲,正因为其加班文化,432薪酬规则,致使它成为行业领先,不论你是否认同其企业文化,最终它一定能给到你想要的回报。

注意:华为目前研发体系好像都搬去东莞松山湖华为基地,环境相当不错,深圳居住的话,早晚也有接驳车。

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

华为Java社招面试(已拿到offer) 的相关文章

  • 【学习笔记】在 Github Page 上托管基于 Vue 的项目

    环境 vscode 前言 本篇博文仅仅提供如何将 vue 项目部署在 github page 的基本操作 xff0c 至于项目的内容由读者自己决定 同时这是最基本的操作 xff0c 所以在复杂的项目部署中 xff0c 请根据具体情况 xff
  • 【学习笔记】查看你正在使用的 C++ 标准

    目录 查看 C 43 43 标准查看你的 gcc xff0c g 43 43 版本C 43 43 标准与 gcc 编译器的版本的对应关系C 43 43 标准与 Visual studio 的对应关系Visual studio 版本与 C 4
  • 【学习笔记】C++ 中的 virtual 关键字与虚函数

    目录 先决条件前言演示示例virtual 关键字的作用虚函数的规则参考与拓展深入拓展 先决条件 了解 C 43 43 中的多态这个概念 前言 virtual 关键字是面对对象中 xff0c 用于修饰类中的成员函数的关键字 被 virtual
  • 【经典回顾】HTTP 的请求与响应报文

    文章目录 前言请求报文请求行方法URL版本 首部行实体主体 响应报文状态行首部行实体主体 参考与拓展 前言 基于 HTTP1 1 xff0c 也就是目前最常用的 HTTP 协议版本 xff0c 涉及部分 HTTP 2 请求报文 让我们先来看
  • 【学习笔记】go 生成随机数

    目录 核心代码示例参考与拓展 核心 go 的标准库 xff08 math rand xff09 中已经为我们提供了产生伪随机数字的核心方法 xff0c 它们分别是用于产生种子的 rand Send value 和用于产生伪随机数的 rand
  • 【教程】油猴脚本开发入门教程

    目录 先决条件配置本地开发环境 可选 快速插入复杂的 HTML设置 CSS 样式发布与更新你的脚本常见标签简析 96 64 connect 96 96 64 grant 96 96 64 include 96 96 64 require 9
  • 【学习笔记】memcpy_s 函数与坑

    目录 函数原型函数描述参数描述返回值坑参考拓展 函数原型 errno t span class token function memcpy s span span class token punctuation span span clas
  • 【学习笔记】指向常量的指针和常量指针

    目录 指向常量的指针常量指针对比指向常量的指针与常量指针拓展参考 指向常量的指针 指向常量的指针 xff0c 即 pointer to const xff0c 即指针指向的是一个常量 xff0c 你应该把这个词 xff08 指向常量的指针
  • 【学习笔记】内存的连续分配管理方式

    目录 先决条件单一连续分配固定分区分配动态分区分配补充内部碎片和外部碎片基于顺序搜索的动态分区策略 xff08 算法 xff09 参考与扩展 先决条件 这里介绍的这些内存分配方式都是非常古老的内存分配方式 xff0c 基本已经不在现代操作系
  • 【教程】visual studio debug 技巧总结

    更新中 基础的调试技巧基本更新完毕 xff0c visual studio 提供了强大的调试功能 xff0c 许多东西需要大家动手体验 目录 环境调试器的基本使用更改执行流断点基本的断点操作跟踪点条件断点条件表达式命中次数过滤器 函数断点缩
  • Vm虚拟机创建raid5盘+热备盘

    Vm虚拟机创建raid5盘 43 热备盘 打开vm xff0c 然后创建四个新的虚拟硬盘 xff08 组建raid5盘最少需要3个硬盘 xff0c 我们留一个做热备盘 xff09 创建硬盘的步骤我在前面的博客有写 xff0c 这里就不掩饰了
  • 用VS2012导入工程时出现error MSB8020错误

    导入别人工程后进行编译出现如下错误 xff1a 解决方法 xff1a 在工程名后右击 属性 xff0c 将平台工具集改为自己安装版本的平台工具集如下图所示 xff1a 然后再次进行编辑就可以啦
  • 【学习笔记】windows 下的 shared memory(共享内存)原理与实践

    目录 先决条件共享内存介绍在 Win 下实现共享内存开发环境P1CreateFileMappingMapViewOfFileUnmapViewOfFileCloseHandle P2OpenFileMapping 示例补充File Mapp
  • 【学习笔记】同一个 solution 的不同 project 使用相同的头文件

    目录 环境前言在项目中引入文件添加额外的包含的目录 环境 OS xff1a win10IDE xff1a visual studio 2017 前言 有时候在开发中 xff0c 同一个 solution 下的不同 project 需要共享一
  • 【学习笔记】在 windows 下创建多线程 C++

    目录 先决条件传统的创建方式使用 CreateThread 函数实例 更安全的方式 beginthreadex实例 终止线程补充WaitForMultipleObjects 函数实例 参考 先决条件 最好了解以下内容 了解内核对象了解进程
  • 【教程】在 visual studio 共享和重用项目属性

    目录 环境前言同一项目中 xff0c 不同开发模式和平台的共享不同项目共享和重用项目属性进阶 参考 环境 os xff1a windows 10IDE xff1a visual studio 2015 前言 在 visual studio
  • 【学习笔记】C 语言中未开辟地址的指针作为函数参数传递的问题

    目录 问题描述有问题的做法正确的做法总结 问题描述 有时候我们希望传递一个空指针给一个函数 xff0c 然后该函数在堆上开辟动态内存 xff0c 然后该函数执行完后 xff0c 返回这个动态内存的地址 有问题的做法 先来看下面的一段程序 x
  • 【学习笔记】顺序容器的表格方式总结 C++

    目录 顺序容器及其特点顺序容器操作向顺序容器添加元素insertemplace 参考 更新中 顺序容器及其特点 名字访问元素插入 xff0c 删除元素vector xff08 可变大小数组 xff09 支持快速随机访问在尾部之外的位置插入或
  • 【学习笔记】C++ 下字符串与数字的拼接

    目录 环境sprintfto string 与 to wstring itoa 环境 OS xff1a win 10 IDE xff1a Visual Studio 2017 sprintf 描述 xff1a sprintf 是一种 C 风
  • 【教程】Windows 下 C++ 项目内存泄漏检查

    更新中 目录 环境Visual Stuido Profiling Tools打开方式使用查看原始类型报告查看 Managed 类型报告 参考与拓展 环境 windows 10IDE xff1a Visual Studio 2015 Visu

随机推荐

  • 【学习笔记】读取文件中的字符串与 fgets 的坑

    目录 前言环境问题模拟与复现正确的手法回顾 前言 今天写一个读取文件中字符串的函数 xff0c 理论上应该是很简单的 xff0c 但是写的时候发现输出的结果总是比文件中的内容少一个字符 xff0c 并且通过排查 xff0c 问题就是出在 f
  • [Atcoder Yahoo Contest 2019]D.Ears(动态规划)

    Score 600 600 6 0 0 points 题面 传送门 翻译有时间再补 题解 体验感极差 xff0c 考试的时候手残把1打成了2Debug了半个小时 害的F题都没做 先将题目转换一下 给你一条链 顺次连接着 n 43
  • 内网渗透-基础环境

    解决依赖 xff0c scope安装 打开要给cmd powershell 打开远程 Set ExecutionPolicy RemoteSigned scope CurrentUser 我试了好多装这东西还是得科学上网 xff0c 不然不
  • ubuntu(Linux)配置允许远程登陆

    安装ubuntu后默认不可以以root方式登录系统 xff0c 需要做以下配置 1 使用sudo i 命令可以让用户切换到root用户 xff0c guo用户是安装ubuntu时配置的用户 xff0c 因人而异 xff1b 2 配置root
  • Y9000P Ubuntu/Windows 双系统安装

    一 xff1a 配置介绍 Y9000P默认系统Win11 xff0c 系统盘500G xff0c 从盘2T xff0c 内存32G xff0c 显卡3060 二 xff1a Windows系统分盘 系统盘 xff08 磁盘1 xff09 建
  • axios的使用

    axios是基于Promise的HTTP库 xff0c 适用于各种前端框架 不同于普通http请求后的回调 xff0c Promise有更好的操作性 axios可以自动转换JSON数据 客户端支持防御XSRF攻击 axios的简单使用 安装
  • 怎么通过SQL取出数据库中JSON字段中的值

    我们的数据库中经常会遇到很多JSON的字段 xff0c 自己写的也好 xff0c 别人写的也好 一般我们取这个值的话 xff0c 会创建一个typeHandler来取值 那么如果我们想直接取到JSON里的值该怎么办呢 xff1f 其实很简单
  • GCC使用说明

    超详细的参考官方手册下载地址 https download csdn net download qq 34991787 16188604 GCC代表 GNU编译器合集 可编译C C 43 43 Objective C Objective C
  • 用顺序表实现的简易通讯录(第一版)

    实现一个通讯录 xff1b 通讯录可以用来存储1000个人的信息 xff0c 每个人的信息包括 xff1a 姓名 性别 年龄 电话 住址 提供方法 xff1a 1 添加联系人信息 2 删除指定联系人信息 3 查找指定联系人信息 4 修改指定
  • ubuntu没有rc.local文件

    当我们设置开机自启时候 xff0c 一般都在rc local文件里设置 xff0c 但是有的Ubuntu版本没有这个文件 了 xff0c 此时我们可以自己创建一个 1 创建一个rc local service文件 sudo vim etc
  • 阿里云快速网站搭建详解

    一 网站建站流程 主要步骤 要有一个域名 购买主机 要有数据库 一般购买主机赠送 解析域名 下载网站程序 演示用的WordPress 上传程序 安装程序 配置数据库 网站基本信息 管理员信息等 二 DNS服务器快速入门 DNS服务概述 DN
  • OpenStack ussuri 私有云平台搭建

    一 OpenStack简介 openstack是一个云操作系统 这个操作系统控制着数据中心中的计算 存储和网络资源 所有这些资源的管理都是通过API来来实现的 并且管理资源都有相应的认证机制 在openstack中有一个叫做dashboar
  • 重磅!阿里版本【ChatGPT】开放测评!

    前两天突然爆出惊人消息 xff1a 阿里版ChatGPT开放测评了 xff01 在本月初 xff0c 已经有诸多关于阿里巴巴即将推出类似ChatGPT产品的传闻 数日前 xff0c 首批曝光的天猫精灵 鸟鸟分鸟 脱口秀版GPT基于大型模型的
  • debian-dhcp实验(傻瓜教程)

    安装apt get install y isc dhcp server 我这里已经安装过了 我们尝试启动服务端 xff0c 发现失败了 xff0c 这里因为我们没有绑定网卡 看一下网卡 我这是ens33 为了防止配置dhcp影响我的外网 x
  • 如何免费使用ChatGPT 4?

    自从ChatGPT发布以来 xff0c 它就取得了巨大的成功 无论是常春藤法学考试还是商学院作业 xff0c ChatGPT都被用于各种试验 统计数据显示 xff0c ChatGPT每月吸引约9600万用户 随着ChatGPT的巨大成功 x
  • 利用ChatGPT,一分钟制作思维导图

    大家好 xff0c 我是易安 xff01 今天我来教你如何使用ChatGPT xff0c 一分钟制作出一份思维导图 大纲选题 想到一个课题 xff0c 然后人工梳理出内容大纲 xff0c 是个挺费精力的事情 但利用ChatGPT来做这件事
  • 谈谈几种分布式锁实现

    大家好 xff0c 我是易安 xff01 今天我们呢谈一谈常见的分布式锁的几种实现方式 什么是分布式锁 在JVM中 xff0c 在多线程并发的情况下 xff0c 我们可以使用同步锁或Lock锁 xff0c 保证在同一时间内 xff0c 只能
  • 十分钟教你搭建类似ChatGPT的安卓应用程序

    大家好 xff0c 我是易安 xff01 Chat GPT 是当今著名的人工智能工具 xff0c 就像聊天机器人一样 Chat GPT会回答发送给它的所有查询 今天 xff0c 我将通过集成 OpenAI API ChatGPT 构建一个简
  • 十分钟教你搭建ChatGPT 图片生成的安卓应用

    十分钟教你搭建ChatGPT 图片生成的安卓应用 大家好 xff0c 我是易安 xff01 今天 xff0c 我们将集成 OpenAI API ChatGPT 来构建一个简单的类似 ChatGPT 的 android 应用程序 xff0c
  • 华为Java社招面试(已拿到offer)

    华为Java社招面试 xff08 已拿到offer xff09 之前8月底华为cloudsop部门打电话叫我要不要面试 xff0c 当时正处于换工作的期间 xff0c 于是就把简历发给华为hr xff0c 人事审核后经过一些列面试 机试 x