草庐IT

华为OD社招Java岗面经,已OFFER

等风来.长 2023-04-03 原文

【一面】

HR跟我沟通说360的分数很不错,我内心还挺高兴,结果估计是华为对我期望太高,一轮面试难度很高,GG

面试官问的知识点比较分散,而且相对挺深入的,我无言以对,尴尬ing。

1、对类加载机制有了解吗?答:有了解,加载-连接-初始化 初始化顺序是...巴拉巴拉

2、单例模式了解吗?答:了解,巴拉巴拉

3、那么两个类加载器加载同一个单例类,会有几个对象?答:不懂,但是我猜只有一个,因为单例的定义是只有一个实例

面试官:你回去好好研究一下这个问题      我:好吧.....

4、JVM调优参数你了解那些?答:没听说过...

5、JVM报错信息你有了解过吗?答:看过报错日志,其他都不了解

6、OOM错误会输出报错日志吗?堆内存溢出会输出报错日志吗?我内心:这都啥玩意  答:不知道

7、多线程锁你用过那些?答:synchronized关键字,LOCK锁(我有点被问蒙了,cas、乐观悲观、公平非公平都了解一点,害怕面试官追着问,没敢说)

8、Redis用过没有?答:没用过 但是我正准备学习

9、用过事务吗?答:用过,声明式使用(内心:终于有个会的了,快问我事务隔离级别、传播机制、MVCC       结果,面试官看我回答的很简略,没有追问  提醒大家,如果自己会,一定要表现出来!)
10、讲一下HashMap为啥重写Hashcode和equals?答:巴拉巴拉

手撕编程题:mid难度,涉及到特别多的进制转换和int与char、String的类型转换,但是我已经被问懵了,写的磕磕巴巴的,手一直抖,打错字。最后勉强运行一下测试样例通过了我就直接说做完了。

面试官:你觉得你的程序那里还可以优化?我内心(完蛋,估计程序不对) 答:可能输入没进行非法校验,各种进制转换、类型转换写的也很生硬 巴拉巴拉

【二面】

估计是一轮面得不太好,二轮面试难度明显降低。

二轮面试官人很好,如果问到我不会的,他会自己回答问题的答案。

主要问题就是按照简历上写了什么,就挨个问,偶尔几个问题会深入的问一下,写几个简单的例子。

1、你简历上写了巴拉巴拉,你在工作中是怎么用的?答:我在工作中巴拉巴拉

2、对于这个功能,他是怎么实现的,用了什么原理?答:如果懂,就是底层使用了什么巴拉巴拉,如果不懂,就回答我只会用,对原理不太了解

3、我看你写了了解springboot,你使用springboot第一感觉是啥?答:简便快捷,因为约定由于配置巴拉巴拉,结尾我说了一句在POM文件中引入依赖很方便

面试官:嗯,POM引入依赖是maven的功能,你说一下你对maven的了解   我:巴拉巴拉

4、你简历上写了你了解mybatis,简单说一下mybatis和JDBC有啥区别?我:mybatis实现了java代码和sql的解耦,功能强大,使用相对来说比JDBC简单,mapper接口不用写实现类

追问:为啥不用写实现类就可以获取实例?答:这是典型的代理模式的应用

5、对于sql安全,你了解那些?  答:在使用时注意sql注入问题,能使用#{}的情况下就不要使用${},然后讲了一下#{}不能使用的几种情况

6、对于sql优化,你了解那些?  答:分三个层面,1.对sql优化,去除冗余列 2.索引层面,查看sql是否使用索引,索引是否生效 3.前两部都没问题,是否考虑分表?或者将压力分散到多个服务器上

7、工作中使用过多线程编程吗?答:没有

8、接触过多线程实际案例?答:接触过,大学中经典的生产者消费者模型,里面用了锁来控制县城的通信

9、讲一下你用过和了解的锁?答:synchronized关键字,LOCK锁,cas自旋,还说了一些关于降低锁粒度可以提升效率

10、讲一下cas 答:cas就是compare and swap,简单说了一下cas的过程

11、简历上写了JUC,讲一下你对JUC的理解  答:JUC是jdk为我们提供的一个用于多线程编程的包,提供了线程安全且效率较高的集合实现类 ConcurrentHashMap、CopyOnWriteArrayList还提供了三个辅助类

12、Redis有了解吗?答:没有,但我正准备学

手撕编程题:easy难度,一道滑动窗口。面试官先让简单讲一下思路  答:题目中说明了有序和非空,应该是经典的滑动窗口问题

面试官:那你简单写一下吧。  花了十几分钟,写了一个不伦不类的滑窗,注释什么写的很整齐,代码还算优雅。

面试官:你这实际上是个穷举啊   答:是的,左边界用外层循环移动,右边界内层循环滑动,虽然写出来是穷举,但是应用了滑窗的思想

面试官:嗯,你说的思想是滑窗的思想  答:滑窗将抽象的算法以具体的方式展示,便于理解巴拉巴拉

【HR面】

这两面问的都差不多。合在一起写。

主要问题:

1、离职原因 

2、个人情况,包括是否婚恋,对于去外地工作有什么想法

3、对于加班有什么看法

4、你还有什么想了解的

总结

我个人双非一本计算机专业,本科。毕业之后进了一家“老”公司做政府业务,干了1年半多一点,用的都是stuts2+jsp,技术栈相当落后,自我觉得再混下去要被淘汰了,所以裸辞换个环境。

由于没有用过springboot、springcloud、redis、mysql、mybatis等等,简历上只能写对于这些技术有所了解,我每自学一门技术,就把他填到简历上。

面试的时候还是很心虚的,因为只写了对这些技术有了解,自学能力强,但是没有这些技术的项目经验,深入问原理也答不上来。

一轮面试感觉真的很难,别说我根本没用过这些,即使用过,也未必见得能了解其中原理,同时考验了技术的宽度与广度。

二轮按照简历上写的进行由浅入深的提问,由于刚自学过,回答的还算顺畅,我不清楚二面难度降低究竟是好事还是坏事,可能是一面太菜,二面挽尊。

分享一下我的经验,希望能谈个好薪资。

有关华为OD社招Java岗面经,已OFFER的更多相关文章

  1. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  2. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  3. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  4. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  5. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  6. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  7. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  8. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  9. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  10. java - 为什么 ruby​​ modulo 与 java/other lang 不同? - 2

    我基本上来自Java背景并且努力理解Ruby中的模运算。(5%3)(-5%3)(5%-3)(-5%-3)Java中的上述操作产生,2个-22个-2但在Ruby中,相同的表达式会产生21个-1-2.Ruby在逻辑上有多擅长这个?模块操作在Ruby中是如何实现的?如果将同一个操作定义为一个web服务,两个服务如何匹配逻辑。 最佳答案 在Java中,模运算的结果与被除数的符号相同。在Ruby中,它与除数的符号相同。remainder()在Ruby中与被除数的符号相同。您可能还想引用modulooperation.

随机推荐