华为面试(一面)1103

开场:自我介绍+项目介绍

提问环节:含个人基本信息,项目和八股,手撕代码
1.个人基本信息:本科和研究生期间有得过什么奖嘛?专业排名?为什么没有去实习?
2.项目相关:这个项目花了多长时间,遇到的主要难点是什么?如何应对缓存击穿问题?项目中有实际用到?还是对该知识点有了解?
3.笔试复盘:做对的题思路复述,没做对的题目 想出解决办法了嘛?具体谈谈
4.八股:(问得比较多)
1)JVM的垃圾回收机制,调用System.gc()后会发生什么?会立即对垃圾进行回收嘛?
2)栈的特点
3)说说有哪些排序算法?详细说一下选择排序的思路及其时空复杂度
4)Linux 中的755权限?
(linux系统中的755权限是指所有者拥有可读、可写、可执行权限,所属组与其他用户仅拥有可读与可执行权限。linux系统的权限一般是用1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9位数字代表其他用户的权限。)
5) Linux 中终止进程的命令
6) 关系型数据库和非关系型数据库的区别
7) 谈谈Spring AOP
8) Map, List, Set都继承自Collection接口嘛?说说他们的区别
9)HashTable与HashMap 的区别? HashMap线程安全的类?
10)获取对象的类的方式有哪些?对象实例.getClass(),Class.forName(全限定类名),内置基本数据类型.TYPE, 类名.class。
11)  线程创建的方式有哪些?
12)run和start()的区别?
13)死锁形成的条件
14)面向对象的原则有哪些?讲讲开闭原则
15)Java11的新特性了解嘛
16)运行时异常有哪些?(数组越界,类型转换,空指针,输入不匹配,非法的参数,无访问权限....)
17)你觉得你目前还有哪些不足?

5.手撕代码
题目:给定一行字符串,字符串间用逗号隔开,eg:xiaoming,xiaozhang,xiaoli,zhangsan,xiaoming
要求:出现次数不等时,按出现次数降序排列;出现次数相等时,按字符串升序排列,
返回结果:xiaoming 2,xiaoli 1,xiaozhang 1,zhangsan 1
python版:
def func():
    arrs=input().split(',')
    dic={}
    for arr in arrs:
        if arr not in dic:
            dic[arr]=1
        else:
            dic[arr]+=1
    tmp=sorted(dic.items(),key=lambda x:(-x[1],x[0]))
    #print(tmp)
    res=''
    n=len(tmp)
    for i in range(n):
        k,v=tmp[i]
        res+=k+' '+str(v)
        if i!=n-1:
            res+=','
    print(res)

if __name__=='__main__':
    func()
Java版:
package com.kiki.huawei1026;

import java.util.*;

public class Solution1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        HashMap<String,Integer> map=new HashMap<>();
        String str=sc.nextLine();
        String[] lists=str.split(",");
        for(int i=0;i<lists.length;i++){
            String cur=lists[i];
            if(!map.containsKey(cur)){
                map.put(cur,1);
            }else{
                map.replace(cur,map.get(cur)+1);
            }
        }
        List<Map.Entry<String,Integer>> list2=new ArrayList<>(map.entrySet());
        Collections.sort(list2, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                //前小于后返回-1,等于返回0,大于返回1(比较结果为1进行交换)
                int a=o2.getValue()-o1.getValue();
                if(a>0)
                    return a;
                a=o1.getKey().compareTo(o2.getKey());
                if(a>0)
                    return a;
                else
                    return -1;
            }
        });
        int n=list2.size();
        for (int i=0;i<list2.size();i++) {
            Map.Entry<String,Integer> entry=list2.get(i);
            System.out.print(entry.getKey()+" "+entry.getValue());
            if(i!=list2.size()-1){
                System.out.print(",");
            }
        }
        //System.out.println(list2);
    }
}







#华为面试##校园招聘##华为##2023校招#
全部评论
华子怎么还面着呢
点赞
送花
回复
分享
发布于 2022-11-04 09:21 陕西

相关推荐

3 6 评论
分享
牛客网
牛客企业服务