懵了,阿里一面就被虐了,幸获内推华为技术四面,成功拿到offer

news2025/1/11 16:47:11

上个月,哥们从某小厂离职,转投阿里云,简历优秀,很顺利地拿到了面试通知,但之后的进展却让哥们怀疑人生了,或者说让哥们懵逼的是,面试阿里云居然第一面就被吊打?让哥们开始怀疑自己,是不是这些年工作下来,自己没有一丁点的进步呢?

幸运的是,经过他朋友推荐,去面试了华为,面试华为的过程极为顺利,很快就拿到了offer。这让哥们更弄不懂了,4面拿华为offer的水平,面试阿里居然一面就被吊打?

索性,哥们想分享一下这次的面试经历,让各位老铁好好帮他参考参考,出一出主意!

阿里一面凉经(一面竟然就问了2小时,什么情况?)

这次一面感觉是在打心理战,哥们自己的心里防线基本是被击溃,面到怀疑人生的程度,所以过程感觉不是太好,很多题哥们自己也感觉没答好,要么答得“缺胳膊少腿”,要么就是“画蛇添足”。

  1. 先是聊项目,从项目的架构设计到部署流程。

  2. Java容器有哪些?哪些是同步容器,哪些是并发容器?

  3. ArrayList和LinkedList的插入和访问的时间复杂度?

  4. Java反射原理, 注解原理?

  5. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  6. HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?

  7. HashMap push方法的执行过程?

  8. HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?

  9. 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?

  10. https和http区别,有没有用过其他安全传输手段?

  11. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

  12. Linux怎么查看系统负载情况?

  13. 请详细描述springmvc处理请求全流程?

  14. 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?

  15. 查询中哪些情况不会使用索引?

  16. 数据库索引,底层是怎样实现的,为什么要用B树索引?

  17. Mysql主从同步的实现原理?

  18. MySQL是怎么用B+树?

  19. 谈谈数据库乐观锁与悲观锁?

  20. 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?

  21. 描述分布式事务之TCC服务设计?

  22. Redis和memcache有什么区别?Redis为什么比memcache有优势?

  23. 考虑redis的时候,有没有考虑容量?大概数据量会有多少?

  24. 谈谈分布式锁、以及分布式全局唯一ID的实现比较?

  25. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?

  26. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?

  27. 最近两年遇到的最大的挫折,从挫折中学到了什么?

  28. 最近有没有学习过新技术?

华为四面:3轮技术面+HR面(华为真经,值得参考)

华为面试过程很顺,一面问得比较基础,所以哥们整个人都还挺自信的一个状态,面试官也全程是一个比较“和蔼”的问题方式,所以比较轻松,因此面试得顺利,拿offer也快。以下是哥们华为4面的技术题,不包括HR面。

华为技术一面:

  1. 简单说一下面向对象的特征以及六大原则

  2. 谈谈final、finally、finalize的区别

  3. Java中==、equals与hashCode的区别和联系

  4. 谈谈Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及应用场景

  5. 谈谈线程的基本状态,其中的wait() sleep() yield()方法的区别。

  6. JVM性能调优的监控工具了解那些?

  7. 简单谈谈JVM内存模型,以及volatile关键字

  8. 垃圾收集器与内存分配策略

  9. 垃圾收集算法

  10. MySQL几种常用的存储引擎区别

  11. 数据库的隔离级别

  12. 5亿整数的大文件,怎么排?

华为技术二面:

  1. Java内存模型

  2. full gc怎么触发?

  3. gc算法

  4. JVM回收策略

  5. ClassLoader原理和应用

  6. 高吞吐量的话用哪种gc算法

  7. ConcurrentHashMap和HashMap

  8. volatile的底层如何实现,怎么就能保住可见性了?

  9. 有参与过开源的项目吗?

  10. 线程池原理,拒绝策略,核心线程数

  11. 1亿个手机号码,判断重复

  12. 线程之间的交互方式有哪些?有没有线程交互的封装类 (join)?

华为技术三面:

  1. 两次点击,怎么防止重复下订单?

  2. 数据库表设计,索引

  3. Redis的缓存淘汰策略、更新策略

  4. dubbo、netty、RPC介绍原理

  5. 限流算法

  6. zk挂了怎么办?

  7. 分布式锁的实现方式,zk实现和Redis实现的比较

  8. 秒杀场景设计,应付突然的爆发流量

  9. 分布式数据一致性

  10. 一致性哈希

  11. 消息队列原理介绍

  12. 注解的原理

  13. 数据库原理,数据库中间件,索引优化

  14. ioc原理、aop原理和应用

  15. 大数据相关,MapReduce

  16. Docker的原理

2019大厂面试题及答案

编辑切换为居中

添加图片注释,不超过 140 字(可选)

实际上,哥们并不是一个幸运的人,而是一个努力的人,今天的这些,也全是靠哥们的努力得来的,尽管阿里云一面就凉,但能进入华为,也算是哥们多年的累积,以下是哥们分享的个人的一个学习方法和经验总结。

学习方法及经验总结

(1)多刷题

自己多刷一些面试题是非常重要的,即使是在自己不需要面试的情况下,也要经常了解现在的大厂小厂面试都会问一些什么?现在比较流行的技术是什么等等诸如此类。那么哥们是如何刷题的呢?刷题主要分为Java技术以及算法两大类,搜集了目前比较新的一些题册,包括【Java核心知识】以及【算法刷题】,如算法方面就有LeetCode。

算法刷题LeetCode:

(2)多看看技术牛的实战书

实际上很多人目前的一个状态是缺乏实战经验,或者说是不知道该如何上手实战。那么,看一些技术比较过硬的大牛写的实战书籍对自己是很有好处的,多少能够学习到一些实战经验。目前我手上整理到的实战书籍也算是比较全面,包括Spring全家桶、JVM、并发编程技术、Redis相关、MySQL调优、Tomcat、ZooKeeper等高级技术。

编辑

添加图片注释,不超过 140 字(可选)

(3)多交流,多思考

最后要强调的重点就是——多交流,多思考。现在很多程序员陷入一个怪圈,整天只会在办公室里机械的工作,实际上程序员要想有很大很明显的进步,交流是少不了的。那么怎么结识比自己厉害的技术牛呢?实际上渠道有很多,哥们个人的做法是:①看一些技术直播,在直播间交友;②加一些技术性的交流群,多交流问题;③参加一些线下活动,如面基、研讨会等等。

写在最后

学习如攀登,虽然有身心的疲惫,但更有沿途的优美风光,更无论登顶之后的极目远眺。之后,你总会感叹曾经的付出是值得的。

                                   资源获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

 精彩专栏推荐订阅:下方专栏👇🏻👇🏻👇🏻👇🏻

每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OpenCV-Python】教程:3-12 模板匹配

OpenCV Python 模板匹配 【目标】 利用模板匹配的方法寻找目标cv2.matchTemplate(), cv2.minMaxLoc() 【理论】 模板匹配是一个寻找大图像中目标位置的方法。OpenCV提供了函数 cv2.matchTemplate() 函数,通过在输入图像上滑动模板,将目标与滑动处的图…

[附源码]计算机毕业设计JAVA校园淘宝节系统

[附源码]计算机毕业设计JAVA校园淘宝节系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis …

【c++】STL--string

前言 最开始我们学习c语言的时候,我们发现刷题或者写代码都是比较麻烦的,如果说用c语言造一辆车,那么我需要用c语言先把轮子造好--各个零件,当我们造好之后再组装。那么c则是造好了轮子,只需要我们组装就好了。这里的的…

岩藻多糖-聚乙二醇-过氧化氢酶,Catalase-PEG-Fucoidan,过氧化氢酶-PEG-岩藻多糖

岩藻多糖-聚乙二醇-过氧化氢酶,Catalase-PEG-Fucoidan,过氧化氢酶-PEG-岩藻多糖 中文名称:岩藻多糖-过氧化氢酶 英文名称:Fucoidan-Catalase 别称:过氧化氢酶修饰岩藻多糖,过氧化氢酶-岩藻多糖 过氧化氢…

LiteFlow v2.9.4发布!一款能让你系统支持热更新,编排,脚本编写逻辑的国产规则引擎框架

前言 上海的天气降温让人猝不及防,但是我们的迭代速度却井然有序。 今天我们带来了LiteFlow v2.9.4版本。 我们每次的发布的issue有很大一部分依托于我们的使用者社区,社区人越来越多。我看到了使用者在使用过程中遇到的问题,也收集了很多…

【Java实战】这样写SQL语句性能嘎嘎好

目录 一、前言 二、SQL语句 1.【强制】不要使用 count(列名) 或 count(常量) 来替代 count(*),count(*) 是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 2.【强制】count(distinct col) 计算该列除 NULL 之外的…

如何实现网站首页变为黑白色?

某些时候,网站会根据要求将页面调成黑白色,一开始我还以为是将连夜把图片和文字都搞成黑白色,但是转念一想,像推送产品的京东、淘宝,以及展示up内容的B站、CSDN等,刷新之后可能展示的内容均不同&#xff0c…

从上帝视角认识SpringMVC预览

前言 SpringMVC提供了很多可拓展的组件,例如:参数解析器、拦截器、异常处理器等等。但是如果想要理解/找到这些组件工作的位置/时机,很多时候总是容易迷失在其层层调用的源码之中。因此才想从上帝视角来剖析它。而所谓上帝视角,就…

[附源码]Python计算机毕业设计Django海南琼旅旅游网

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

22.12.1打卡 漫步校园 记忆化搜索

题目里很显然只走最短路, 直接用bfs从终点到起点搜一遍将每一步到终点所需要的最短的时间存在一个dis数组中, 然后你就会发现原来的地图变成了这样 上面是地图下面是dis数组, 再看看经典记忆化搜索模板题滑雪的地图 对的, 非常地相似, 接下来的操作和滑雪基本一样, 只不过起点是…

SQL创建新的输出字段

SQL创建新的输出字段1、准备数据2、对单个字段或者多个字段进行数值计算3、数值计算4、字段拼接5、字段使用别名6、 CASE WHEN逻辑转换case when 语法一case when 语法二case when 注意点查询的值可以为任何值(例如可以: select *)可以重命名…

Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤)(转)

转载至:https://www.cnblogs.com/fuzongle/p/12834080.html Docker 快速安装Jenkins完美教程 (亲测采坑后详细步骤) Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作&#xff0…

组织:阿米巴-事业部-成员公司

昨天有朋友讲到阿米巴-内部交易的成本与效率、讲到乌合之众山头团伙合并财报。昨天也都谈到方向大致正确品质大致不错极低规模成本、方向老钻错牛角尖品质精密高成本。我这篇文章就是:群中单句交流-朋友圈提炼段落-公众号整理成文章,这么来的。阿米巴&am…

从零开始带你实现一套自己的CI/CD(一)Jenkins

目录一、简介二、环境准备2.1 安装Docker和Docker-compose2.2 远程仓库Github/Gitee/GitLab2.3 部署Jenkins三、配置Jenkins3.1 Jenkins配置源码拉取地址3.2 Jenkins配置Maven构建代码3.2.1 准备jdk3.2.2 配置Maven3.2.3 Jenkins配置JDK&Maven并保存3.3 配置Jenkins任务构建…

【日常折腾】重新安装Windows7,做好ghost备份,迁移主目录,日常软件office,chrome,搜狗输入法,电脑管家,一键ghost进行备份。

目录前言1,关于Windows2,电脑起码分两个盘c、d盘3,因为主目录切换了,相关的其他人软件的数据都会迁移过去4,安装office软件3件套,不要全家桶5,安装电脑管家,还是选择腾讯吧6&#xf…

17条卢松松近期言论汇总

我是卢松松,点点上面的头像,欢迎关注我哦! 本文汇集了前段时间卢松松写的段子,有心情感悟、工作感悟、做直播带货、创业的感悟。关注互联网、草根创业者的朋友可以看看! (1) 人最舒服的是什么时候呢?我认为&#xff…

RabbitMQ的工作模式

一.RabbitMQ的一些知识 1.消息属性 RabbitMQ是基于AMQP消息传输协议来实现的消息中间件;类似HTTP有header和body两部分数据,Message是RabbitMQ中的消息体概念。 Message由Properties和Body组成,前者是一些元信息,如消息的优先级…

【LeetCode】1769.移动所有球到每个盒子所需的最小操作数

题目描述 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的…

整理Ubuntu深度学习服务器初始化操作

前言 这两年总是换服务器,每次配置都挺麻烦的要搜一堆东西,干脆直接整理一下供自己以后参考。 版本说明 Ubuntu 20.04 桌面版 系统配置 配置SSH 安装ssh sudo apt update sudo apt install openssh-server检查ssh状态 sudo systemctl status ssh…

js将图片或者文件转成base64格式的两种方法

场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。图片…