前言

秋招一路走来,面的磕磕绊绊,现在比较麻木,不满意但也知道自己几斤几两,无悲无喜状态,只能先毕业再徐徐图之吧。先谈谈过程,再写面经,只为记录,如果能有人看到题目复习一下也不错。

背景:本科物理,硕士计算机偏理论,几乎完全没有开发基础。3月底突然看到春招的信息,慌了,既不会算法也不会开发怎么办?天天睡不着,考虑算法已经比较难了,立马0基础自学后端开发(没想到后端也开始卷了,对我这个菜鸡不甚友好)。

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),希望大家都能找到心仪的工作!

一面

  • 自我介绍
  • Java是解释性语言还是编译性的?

我上来就说错成编译性的了,还说JavaScript是解释性,没想到错了。还强行解释Java需要编译后转为字节码加载进JVM,大家可以再看看解释性和编译性的区别。

  • 对我的专业表示质疑,觉得我是机电院为什么做软件?

我说我们课题组的方向其实主要还是和计算机相关的(离散事件系统petri网),在其他学校其实都是在计算机院

  • 那相关操作系统、网络的知识你知道哪些?(我说具体一点,我可以说一下,内存管理的知识)

首先说明了为什么会有虚拟内存,CPU中的虚拟地址到物理地址转换的访问模块MMU,另外是进程缺页之后的页面置换算法,最久未使用(LRU),最近未使用(NRU)、先进先出(FIFO)、第二次机会法(FIFO改进)、时钟法(第二次机会改进)

  • 手撕代码:Leecode15、三数之和(这题非常幸运正好在我的难题集上,有兴趣可以看看我总结的几道题,可查漏补缺,)

写完不算完,因为要求O(n2),他质疑我的内层循环超过了O(n)复杂度,我解释了半天,最后用最坏情况说服了面试官。

  • 手撕代码衍生题1:因为我在代码中的循环就已经有去重,他说那如果没有这些操作,直接将重复的也放进List<List>中,怎么直接通过List去重?

我说我可以将每个List转化为字符串,然后放入HashSet中去重(显然这不是他想要的最优解)

  • 手撕代码衍生题2:如果直接放入Set<List>能不能直接去重?

我说不行,因为这样存入的是地址,即使List内容一样地址不同哈希值也是不同的,因为默认的哈希值是通过地址计算的。
不过最后在面试官的引导下,说出了他想要的通过重写hashCode还要重写equals方法(这里我说错为hash函数)。

  • 你的项目是通过Docker部署的,那Dokerfile中ENTRYPOINT 指令的作用是什么?

我说这个我部署没遇到过,不太会

  • 那你有熟悉的Shell指令吗说几个

我就说了常用的top、netstat、vim、chomd等。

  • 有了解哪些云计算相关的知识

简单说了下IaaS、SaaS、PaaS,其他也不太会

  • 最后点评:说作为非科班语言学的还不错,但是操作系统这块还是差太多要补

二面

  • 自我介绍完直接撕代码:Leecode300:最长上升子序列,复杂度O(n2)

这道题我是用双指针,更新temp值,记录全局最长序列长度的方式做的,其实和dp数组的动态规划差不多。
不过写完我基本和他讨论如何降低复杂度,但是我还是不知道怎么搞。他说没事已经达到要求了,不过应该是可以通过(二分查找降低复杂度到O(nlogn),感兴趣的同学可以研究下)

  • 说一下进程和线程的区别,进程和线程之间都是怎么通信的?

我说了下进程是资源分配基本单位、线程是CPU调度的基本单位。进程是分时片执行的,线程在多核情况下能并行执行,单核情况下只能通过切换达到伪并行。进程是通过管道通信,线程可以通过共享内存进行通信。

  • 说一下OSI模型分层和TCP三次握手的过程及原因

这个我和大家一样就不多说了

  • 类加载和双亲委派
  • 本来是要结束的,我觉得这么短,我求生欲满满的说我以为还能讲下我主要的项目, 面试官竟然直接同意让我讲,从项目背景,和我主要工作大概又进行了20多分钟,非常感谢这位面试官能耐心听我讲完。

三面

  • 自我介绍(非常巧这次的面试官也是西电的)
  • 同样是质疑说是原来是机电院,我又解释一通?
  • 让我介绍了下商城后台管理项目?
  • 为什么选择这个项目、这个是和课题组有关还是自学?

我说这个是为我系统学习Java做的学习项目,选择它主要是因为它虽然简单但是涵盖的知识量比较全面

  • 这个项目最一开始你主要考虑的什么?

这个回答是意料之外的,我以为是在问高并发啥的,我最后还是拐回到我还是主要是考虑如何把它搭建起来,通过视频书慢慢将系统搭建起来。

  • 你觉得从项目中获得了什么?

我说提升我对开发的理解,从项目系统化的理解到各个模块间的解耦都有提升。另外了解到注释和文档对代码的重要性,这些资料对你后续复盘再看项目有很大的帮助。

  • 那你说说你的第一个项目(这个是我的主要工作,本来面试官是不感兴趣的,最后具体因为什么聊到我就忘了)

我就和他聊了下项目背景啊开始时间等等,大概持续十分钟

  • 最后他想问有没有团队合作的项目?

因为我研究生的项目要不单干、要不基本继承师兄,很少合作,不过我也说了项目进行中老师同学对我开展工作的帮助。
最后我就说电子设计竞赛是三人的,我把我们的比赛过程中的坎坷经历给他说了,他听着感觉像在听故事。

  • 怎么评价华为?

我说了危机意识、狼性文化和开放多元,加了自己之前看的例子和理解。

  • 有什么想问我的?

我问了下这里的新人是怎么培养的
最后令人受宠若惊的是面试官起身主动握了我的手说谢谢,我也连忙回应非常感谢您,很高兴能聊这么久()

总结

最后我为大家准备了ava核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书

华为3次面试可谓是面面俱到啊,侥幸收到offer相关推荐

  1. 目标阿里P7 30岁程序员三次面试,意外收到offer(Java研发岗)

    进阿里一直都是身为程序员的我,最初的梦想,经过去年面试蚂蚁金服失败的挫折后,今年再次鼓起勇气投简历,经过一位前辈的内推省了很多流程,经过多重面试后最终通过.当时收到offer的时候整个人开心的要跳起来 ...

  2. 面试精讲之面试考点及大厂真题 - 分布式专栏 03 阿里华为资深HR面试套路全揭晓

    03 阿里华为资深HR面试套路全揭晓 HR 面试套路大全 如果你技术面试过了,进入最后一轮 HR 谈薪资,先别高兴太早,千万不要轻视 HR.BAT 大公司,HR 有一票否决权,即使你技术 OK,领导也 ...

  3. 2016年华为优招面试经验

    8月20日我参与了华为的优招面试,写个面经给自己接下来的校园招聘当个备案,更好的备战校园招聘,也希望和各位网友们共同学习. 华为研发岗位面试是两轮的.我是安卓开发11点半面试的,优招面试的人员不多.当 ...

  4. 华为人工智能岗位面试经历分享

    https://blog.csdn.net/csdnsevenn/article/details/81916843 博客 学院 下载 GitChat TinyMind 论坛 APP 问答 商城 VIP ...

  5. 华为算法工程师面试经历汇总

    一.概述 华为公司组织架构较为庞大,其总体组织架构图如下所示: 其中,较为知名的2012实验室,其下面包括的二级部门有:中央硬件工程学院.海思.研发能力中心.中央软件院.诺亚方舟实验室: 其中中央软件 ...

  6. linux和华为云计算区别,华为云计算HCIE-Cloud面试宝典(九)

    本篇仅对华为云计算HCIE-Cloud面试中所出现的题进行一个较为标准的解答,如需理解详情,还是建议听一些更具有专业性的回答:不过博主后续会针对每一个细节出文章进行描写,让大家真正的了解华为云计算,并 ...

  7. 华为od一面面试算法

    华为od一面面试算法 在看题目之前,谈谈对于面试时手撸算法的看法,如果在面试之前刷了几百+的leetcode,那么只要好好总结一下,我觉得面试的算法是完全可以做出来的:但是如果没有刷到那么多,我们怎么 ...

  8. 你不知道的腾讯、百度、网易、华为笔试、面试的经过

    一 腾讯:(所报职位:后台开发工程师 – 深圳) 腾讯是我一直准备的公司,所以对笔试的知识点及面试侧重点有一定的了解. @笔试 一份2个小时卷子,挺基础的,具体什么题记不清楚了.涉及网络原理,c/c+ ...

  9. 华为OD德科面试+机试记录

    一.机试(6.25) 三道编程题,难度偏中.由于时间久远,只记得其中两道题目 1.找车位(动态规划) 2.题目不记得了,后面如果找到会补充(双指针) 3.高效的任务规划(动态规划) 第一题和第二题是做 ...

最新文章

  1. ASP.NET 安全认证(一)
  2. 线性表的C/C++实现(数据结构 严蔚敏版)
  3. 深度 | 人工智能全局概览:通用智能的当前困境和未来可能
  4. Fiddler建好代理后,能连到手机,但手机不能上网了,求破有果
  5. mysql 删除顺序_mysql 添加字段、删除字段、调整字段顺序 转
  6. 轴承新旧型号对照表_精密机床主轴轴承,高端轴承进口清关报关流程
  7. 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
  8. 孙悟空都服输!波士顿动力最新逆天机器人视频,翻筋斗连拿大顶!
  9. c 语言开发一个四则运算器,C++实现四则运算器(无括号)
  10. 存入json文件_学成在线第8-2天讲义-课程图片管理 分布式文件系统 上传图片开发...
  11. eclipse中maven工程添加本地库至Maven Dependencies
  12. 涉嫌抄袭!致歉,抖音Semi Design承认参考阿里Ant Design
  13. 基于ADS软件的阻抗匹配
  14. nginx-rtmp协议解读
  15. Uncode-Schedule首页、文档和下载 - 分布式任务调度组件 - 开源中国社区
  16. 【java实现地图经纬度逆编码】通过使用百度/高德地图的开放平台 实现经纬度与中文地址的转换(附代码方法)
  17. [渝粤教育] 西南科技大学 广告学 在线考试复习资料
  18. Android修行手册-看看Button都有哪些属性?
  19. 乒乓球基本站姿站位和步伐
  20. 桥田智能:热烈欢迎中欧总经理班的同学们莅临桥田参观、交流

热门文章

  1. 吃西瓜--爬虫系列之数据解析
  2. 华为大队入职培训体会
  3. obs媒体源没有声音_实现OBS视频连播,只需要安装这样一个小软件
  4. ae教程 (七)动效插件 (一)古街飘雪
  5. 移动端 REM 适配
  6. 互联网黄金十年已过 白银时代到来
  7. MySQL安装+配置
  8. linux有线网卡驱动
  9. 推动信息安全建设的三驾马车
  10. firefox custom css,自定义FireFox的样式,火狐CSS样式使用教程