当前位置: 首页 > news >正文

“双非”渣本投岗爱奇艺(Java),三轮技术面等消息,侥幸通过!

01 个人情况

非211本科非计算机专业,没有任何实习经验

大大小小的公司一共投递60多家,不过也放弃了很多家(这里一定不要嫌麻烦,集中投简历确实是一件很枯燥的事情,但是为了增加求职成功的概率,是必须要克服的)

最后拿到的offer:vivo、oppo、平安科技、360、美团、腾讯、蘑菇街、爱奇艺等等

还有一些小公司或者知名度不太高的就不列举了,之所以投递也是为了积累面试经验,爱奇艺是我最近投岗面试的公司,先回忆一波爱奇艺的三轮技术面经,在来谈谈我怎么备战各大面试的。

 

02 爱奇艺三轮技术面回忆

2.1 技术面一轮 2020/03/28(1h zoom)

一面的面试官算是春招中遇到过最好的面试官了, 说错时会引导,还会纠正错的认知,亲和。一面在周末,周一下午HR小姐姐打电话约了二面

  • Java多线程(问的比较多,尽量回忆)

1. Java中创建线程的方法2. 线程安全3. 线程安全在JVM中的体现4. Java中锁的种类5. 如何解决多线程下数据不安全的情况

  • JVM(记不太清)

1. JVM构成部分2. 垃圾回收机制3. GC的种类

  • Java数据结构

排序算法,算法题,直接说思路:1.第K大个数2.大量数字中只出现过一次的数字

  • Spring核心: IOC AOP
  • 计算机网络

1.http协议2.从浏览器输入一个url,到客服端得到反馈渲染页面的总过程3.为什么我们输入域名时不用输入端口号,而我们通过IP访问时要输入端口号4.TCP协议的概念5.TCP的三次握手

  • MongoDB与MySQL(问的啥不太清楚了)
  • 用过ElasticSearch么
  • 项目中遇到的困难,是如何解决的

2.2 技术面二轮 2020/04/01(35min zoom)

晚上五点面的,面完一小时后HR小姐姐来电话说通过了,约的周五最后一轮技术面非常贴心的是HR把一二面面试官的评价反馈给了我,之后还问了目前收到什么offer

  • 自我介绍+项目介绍
  • 项目中遇到的困难,是如何解决的
  • java中的基本变量类型,各占多少比特
  • Java多线程

1.ThreadLocal2.Java中的乐观锁

  • 计算机网络

1.TCP和UDP的区别2.HTTP状态码 403什么意思

  • MySQL的默认隔离等级
  • MySQL与MongoDB的区别,什么情况适合用mongodb,什么时候适合用MySQL
  • Java中比较熟悉的设计模式
  • Spring中事务性的体现,还有具体如何实现的
  • Spring Cloud熟悉么,Spring Cloud有哪些重要的组件
  • Redis了解么。Redis除了了解用于缓存,还了解作为消息队列的用法么
  • zookeeper有用过么
  • 开放题: 要实现一个像京东商城中的购物车,数据存储应该如何设计

追问 1: 对于游客账号,这些数据应该如何存储追问 2: 如果数据量超过数据库承载能力,有什么方案

2.3 技术面三轮 2020/04/03 (25mins zoom 主管面)

主管就感觉气场很强, 问完一个问题后会沉默一下再问下一个

  • 自我介绍+项目介绍

1.项目介绍中提到了异步调用,问异步调用的用途是什么2.项目中提到了serverless,询问serverless的用途和与用容器部署的区别

  • JVM

1.JVM的基本组成2.JVM调优问题(没答上来)

  • Java多线程

1.多线程下的线程安全问题2.线程池的种类3.线程池达到数量上限后的措施(没具体了解过,说了想法)Spring与Spring Boot的区别

  • MySQl

1.mysql数据结构的实现2.说一下B+树3.为什么高度平衡的搜索树时间复杂度小4.说一下红黑树

  • 聊了聊其他项目
  • 以后想往全栈的方向发展,还是只专注后端

总体来说爱奇艺面试的感受很舒服,面试官都很和蔼,感觉还是比较注重基础,多线程肯定会问,通过一次面试还是能学到不少东西的。

03 我的秋招备战阶段

我找工作的方向是技术岗,需要学习掌握的知识很多,所以我用一年的时间来学习相关内容,代码语言我选择了JAVA,有能力和精力的话强烈建议再掌握C语言或C++,对面试有加成效果,针对所有需要掌握的能力,我来分别总结一下重点内容(还有一些学习推荐,可以看看哟~):

3.1 项目(最重要)

想要在秋招中收获不错的成果,拥有项目经历肯定是必不可少的。不管是自己做项目,还是有一份不错的实习经历,都可以在面试中游刃有余。如果你的项目很不错的话,拿到sp offer,更高的年薪都是可能的。

而我因为之前太愚钝,没有找实习的意识,所以只能通过自己做一些项目来补足短板。

对于项目的选择上,不要选太简单的,那样含金量不够。项目期间要注意收集难点和问题,面试时候都会问到。不过在这里提醒大家,同一个项目,每个人钻研的深度不一样,那效果肯定不一样,也要结合自己的实际情况进行针对性学习。

3.2 数据结构

数据结构是必须掌握的内容,是面试的必考点,一般会以单个知识点的形式问一些小问题

  • 数组:包括概念、用法、基本操作,多维数组等
  • 队列和栈:包括区别、用法、常用方法、双端队列等
  • 链表:包括特性、使用场景、不同链表元素特点、单双链表、反转等
  • 字符串:包括常用方法、操作字符串、切割、反转、元素等
  • 哈希表:包括键值对、存储格式、哈希函数等
  • 树和图:包括较复杂的算法、遍历、二叉树和完全二叉树、最优路径算法等

推荐学习:《Java数据结构和算法.(第二版)》,有需要的朋友文末看需自取吧!

 《栈和队列、字符串、链表、二叉树》面试题及解析

3.3 数据库和SQL语句

技术岗是必须具备数据库能力的,熟悉常用数据库,熟练掌握常用的SQL语法

  • 主键、外键、超键、候选键概念
  • drop、truncate、 delete区别
  • 什么是临时表,临时表什么时候删除
  • 非关系型数据库和关系型数据库区别,优势比较
  • 数据库范式;varchar和char的使用场景
  • 什么是内连接、外连接、交叉连接
  • 索引的概念和用法;事务的概念和用法
  • 乐观锁、悲观锁、死锁、主从数据库的概念
  • SQL语法:insert、delete、update、select、where、or、and
  • SQL关联查询、排序、分页查询、效率优化等

推荐学习:《MySQL性能调优与架构设计--全册》,有需要的朋友文末看需自取吧!

 

 《20 数据库高频知识点》

3.4 操作系统

不同的公司对操作系统的考察要求不一样,但是总体来说对操作系统的要求不高,只需要记住一些重要知识点

  • 线程和进程的区别;进程间的通信的几种方式
  • 多线程;线程的实现方式;内存溢出
  • Linux或Windows下常用的操作命令

推荐学习:《Java核心知识整理》(第4章:多线程并发),有需要的朋友文末看需自取吧!

 

《多线程高并发面试真题解析》

《Linux.命令全集》 

3.5 计算机网络

  • OSI七层模型、TCP/IP协议簇、IP掩码网关、ARP、DHCP的概念
  • TCP和UDP的区别;TCP三次握手四次挥手;TCP中的流量控制和拥塞控制,TCP可靠性传输
  • 交换机和路由器、HTTP/HTTPS协议内容、DNS解析、socket通信

推荐学习:《Java核心知识整理》(第9章:网络),有需要的朋友文末看需自取吧!

 

 

3.6 手撕代码(算法)

面试中极大概率会让你在白纸上手写算法,所以常见的算法一定要烂熟于心,频繁练习和理解,能做到不假思索就写出来。因为事实证明,如果你只是一般程度的理解,那么在面试中,极大概率会因为紧张,一个字都写不出来,那就很危险了

  • 八大排序算法;递归;实现队列和栈;
  • 单例模式;二叉树遍历;二分法查找;字符串操作;
  • 哈希算法;算法的时间复杂度和空间复杂度

推荐学习:《算法刷题LeetCode中文版》,有需要的朋友文末看需自取吧!

 

 

最后总结

不管你是各方面都了解还是只突出某一方面,只要自己真的懂知识,会技能,那就不愁找不到工作。

不过说实话,面试确实是个玄学问题,有时候莫名其妙就挂了,有时候莫名其妙就过了,也看一部分运气吧。

另外,上面谈到我的春招备战,关于推荐学习的

  • 数据结构篇(《Java数据结构和算法.(第二版)》+《栈和队列、字符串、链表、二叉树》面试题及解析
  • 数据库和SQL语句篇(《MySQL性能调优与架构设计--全册》+《20 数据库高频知识点》
  • 操作系统篇(《Java核心知识整理》(第4章:多线程并发)+《多线程高并发面试真题解析》+《Linux.命令全集》
  •  计算机网络篇(《Java核心知识整理》(第9章:网络)
  • 手撕代码(算法)篇(《算法刷题LeetCode中文版》

这些都有整理成册,需要的话可以内容太多就不一一展示了,如果有需要,尽管拿走,添加名片领取就行。

 

 

相关文章:

  • FlinkSQL系列04-CDC连接器
  • 包-node.js中的第三方模块
  • vscode 个人实用插件(资源集合)
  • GTOT-Toolkit模板参考
  • [贪心]Min-Max Array Transformation Codeforces1721C
  • 猿创征文|【算法入门必刷】数据结构-栈(二)
  • 数据结构-压缩软件核心(利用哈夫曼树进行编码,对文件进行压缩与解压缩)
  • 月薪12.8K,零基础转行软件测试5月斩获3份过万offer,分享一些我的秘招~
  • 推荐一款新式开源的反向代理工具(FRP)
  • 复习一:基本概念和术语
  • Vue基础自学系列 | webpack中的插件
  • 稻盛和夫:让年轻人脱胎换骨的6条自我提升原则
  • HTML5新特性 day_02(8.8)
  • springboot2.0 配置ssl证书详解
  • 客群画像|解决分群与特征分类问题,试一下这个处理方法
  • JavaScript-如何实现克隆(clone)函数
  • [译]前端离线指南(上)
  • 2017-08-04 前端日报
  • AHK 中 = 和 == 等比较运算符的用法
  • canvas绘制圆角头像
  • co.js - 让异步代码同步化
  • CSS 专业技巧
  • ESLint简单操作
  • extract-text-webpack-plugin用法
  • HTTP--网络协议分层,http历史(二)
  • iOS | NSProxy
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • LeetCode29.两数相除 JavaScript
  • MySQL数据库运维之数据恢复
  • Python十分钟制作属于你自己的个性logo
  • Python中eval与exec的使用及区别
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • select2 取值 遍历 设置默认值
  • vue的全局变量和全局拦截请求器
  • 构建工具 - 收藏集 - 掘金
  • 前端技术周刊 2019-01-14:客户端存储
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 积累各种好的链接
  • 正则表达式-基础知识Review
  • #etcd#安装时出错
  • #大学#套接字
  • (二)springcloud实战之config配置中心
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (四)模仿学习-完成后台管理页面查询
  • (推荐)叮当——中文语音对话机器人
  • (一)appium-desktop定位元素原理
  • (一)kafka实战——kafka源码编译启动
  • .apk 成为历史!
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 中的轻量级线程安全
  • .net6+aspose.words导出word并转pdf
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net中wcf服务生成及调用
  • ?php echo ?,?php echo Hello world!;?
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解