秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!

自我介绍

众所周知,越丰厚的offer审核得越晚,所以拿到两百万offer的我现在才来分享我的后端JAVA开发秋招总结。

个人背景:985中下游本硕,无大厂实习(小厂打杂),无竞赛,无相关论文,半科班(转计算机)。

拿到的offer: 腾讯,百度,字节,美团,老铁,shopee,VIVO,交通银行,招银,中国银行

几乎都是sp,3个ssp,年薪加起来超过两百万(原谅我这个标题党)

因为目标工作地点在广东,不喜欢去做游戏,所以网易等公司都没有投递,我也不喜欢海投,投了简历的就只有阿里挂了,华为泡了5个月还在泡?字节面了7次才过了,面试过程在这里。

对于银行(除了招银)来说,我的感觉是他们只看学历和笔试,每次面试都只问了1-2个问题。下文主要针对互联网后端开发的经验。

本科几乎没接触计算机,拿到这么高的offer讲真我是不配的,只能说是运气+面试的点正好都看到,面试面不出来的实力和本硕科班的同学是没法比的。

我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编二维码即可!

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第1张图片

经验总结

  • 之前多找实习,大厂实习转正很多 (没早找实习,都是泪)

 

  • 尽量早点去实习,积累多一份经验

 

  • 实习海投,很多时候玄学进,因为实习生要求真的不高 (北京懒得去,失去了大厂实习的机会)

 

  • 实习感觉没用尽早跑路,不要有心理压力,没人在意螺丝钉的离开

 

  • 正式招聘尽量早做准备,越早越好

 

  • 准备好再投,千万别着急,不然提前批挂了一定会影响正式批,面评一直都在

 

  • 尽量早投递(准备好的前提下,看面经能答出70%以上),提前批sp ssp 的机会要多好多

 

  • 不在意工作地点的话尽量选择总部或者岗位多的地方,比如字节北京深圳,阿里杭州,腾讯深圳,老铁北京,多多上海...像阿里广州,百度深圳hc少的很难进

 

  • 不去的不要乱投练手,面试官风格都不一样,"练手“相当于浪费时间,但是如果你心态不够好,可以多面试锻炼

 

  • 不着急拒绝offer,拿到offer提前去实习,不行就跑路

 

  • 项目很重要,几乎每次面试都会让你介绍一个项目,但是不要讲烂大街的项目,很败好感

 

  • 算法很重要,大厂面试算法题过了很可能就过了,一定要重视。

 

  • 不要主动说没关的事情,无关的比赛第x名之类的面试官没提就别说了

 

  • 面试前看看我之前的总结(智力题和面经),大厂很喜欢出几道智力题看看你的应变能力

面试重点

面试一般分成5个部分:自我介绍,做算法题,面试官问问题,介绍项目,反问。

 

自我介绍

 

  • 面试前查一下公司资料,比如背后是阿里还是腾讯,竞品是什么,发展空间是什么,融资状况,业务范围....
  • 建议自我介绍短一些,只说基本信息和相关的经历就可以,千万不要长篇大论。
  • 简洁地突出优势,如 竞赛、论文、实习、学历、项目
  • 最后可以加一句投递贵司原因,结合之前查的资料,适当夸一下公司,给他你真的像在这个公司工作的印象

 

算法题

 

  • 很多时候会是leetcode变种题,建议不要背题,一定要理解做出来
  • 基础入门 : 排序, 链表,图论,前缀树,递归
    算法基础提升 : 哈希,并查集,有序表,字符串算法(KMP、Manacher算法),滑动窗口与单调栈, 二叉树与树形dp,大数据与位运算题目,暴力递归,动态规划算法进阶中级班 :贪心算法,二叉树、搜索算法 ,动态规划进阶算法,模拟-LRU缓存结构,线段树,TopKRecord结构... 较难的算法算法进阶高级版 :困难题讲解,各种奇淫技巧
  • 问面试官拿提醒,比如时间复杂度最优多少,能不能提醒一下...
  • 先和面试官沟通思路,不要马上写
  • 写完分析时间复杂度和空间复杂度,写注释
  • 讲代码要把其他想法也讲出来,例如 “或者可以用hash/二分....”

 

面试问题

 

回答一定要抓住重点,面试题不清晰可以先反问,不要自己补充一大堆(背这么多暴露了)

 

面试问题基本分为以下几点:

 

  1. 计算机基础: 网络(tcp、udp、http),数据库(MySQL),操作系统(Linux)... 这是大厂最看重的基础,对非科班来说,没时间就看看相关面经,有时间看书看视频,对科班来说复习下应该没什么问题。 【最重要
  2. Java基础:java基础语法,面向对象思想,集合Collection源码,juc, 网络编程,io , 新特性, JVM.... 这部分要求熟悉,可以看书,看视频,看博客。【很重要
  3. Spring全家桶:Spring (ioc、aop)全家桶,Spring Boot,Spring Cloud,Spring cloud alibaba 这部分要求会用,知道部分原理 【重要
  4. 常用技术、框架:Redis,Zookeeper, MQ , Dubbo,ELK ... 这些需要结合项目,非必须但是是亮点,通常面试官会问你用没用过xxx, 你回答用过他才会深入问 【加分点
  5. 常见工具: Maven, git , docker, Linux命令行 , vim ... 【锦上添花
  6. 项目管理,设计模式 【加分点

 

介绍项目

 

  • 简单地说这个项目是干什么的,解决了什么问题,你的角色是什么,用到了什么技术,为什么选用这些技术
  • 说一下项目指标,完成度...
  • 说一下项目管理,敏捷开发有没有 之后面试官会根据你用到的技术深入提问

 

反问

 

  • 问一下公司发展,部门业务技术栈,建议学习知识... 一般3个问题就差不多了

祝大家新年快乐,笔试顺利,面试顺利,谈薪顺利,实习顺利,工作顺利,加薪顺利,升职顺利,上岸顺利,结尾附上完整面经。

面试面经(字节跳动 7 面 )

飞书 一二面:

 

  • 个人经历
  • 项目
  • 了解NIO吗
  • IO模型 select和epoll的区别
  • 拦截器,监听器和过滤器区别
  • RESTful 和SOAP
  • get / post 区别
  • 怎么跨域
  • csrf 预防,http/dns 劫持
  • rabbititmp怎么解决漏发,多发? 持久化怎么整?
  • redis 和mysql区别
  • mysql设计表时怎么去提高性能
  • 对称加密和非对称加密,RSA 具体说说
  • DES 和 AES 区别
  • HTTPS 证书是啥?加密内容?
  • 可以伪造证书吗?中间人攻击能预防吗?
  • tcp怎么计算时间,RTT和RTO ?
  • UDP 伪首部多大,有啥,有啥用?
  • 常见的拥塞控制算法 (BBR,RENO,BIC-tcp)
  • 数据库范式 ?BCNF?第四第五范式?
  • 索引失效什么情况?
  • 怎么设计索引?
  • DBA不知业务的情况下怎么设计索引?
  • limit优化
  • 联合索引最多多少个字段
  • 数据库的事务隔离级别
  • mvcc机制聊一下
  • linux指令 Kill原理
  • tcp 异常处理,什么时候有RST,
  • 什么时候有PSH URG 的包
  • 爬虫对抗的解决方案
  • 团队成员矛盾怎么办
  • 怎么说服产品
  • 怎么说服测试
  • 和组长分歧怎么办
  • 做题

 

飞书 三四面:

 

  • 项目相关
  • Http1.1 特点,缺点
  • http2.0 特点,缺点
  • http3.0 特点,缺点
  • QUIC 特点,缺点
  • 对头阻塞 tcp http的角度,分别讲一下
  • BBR 怎么快,怎么实现,和之前的有什么区别
  • tcp 选项有什么
  • tcp 首部多大
  • 分片和分段区别
  • tcp半打开和半关闭的区别
  • udp 存在的意义
  • 怎么线程通讯
  • 多线程的创建,怎么退出线程,退出进程
  • 线程池的参数
  • 线程池的状态
  • 死锁怎么预防
  • 出现了死锁怎么办
  • 银行家怎么实现
  • 进程调度CFS
  • 时钟调度算法
  • 慢查询优化
  • ThreadLocal场景应用,spring里有用到吗
  • JVM 构架,垃圾回收
  • 怎么设计一个日志系统
  • 磁盘调度算法有什么
  • linux 文件系统架构
  • inode 有什么信息
  • LINUX 怎么找文件
  • Linux 怎么看端口,
  • 看tw状态的进程load average 是什么,怎么看,怎么分析
  • linux 怎么做io检测
  • linux 不同发行版有什么区别
  • 你觉得 linux 比win 好在哪
  • 字节序,网络字节序是什么
  • 需要主导项目怎么办
  • 怎么设计测试用例
  • 怎么总结工作
  • 优点缺点
  • 兴趣爱好
  • 做题

技术中台一二面:

 

  • tcp,http,https等常见问题
  • 项目人均秒杀,面试官不耐烦了
  • Innodb 是如何解决幻读的
  • redis cluster
  • 16384为啥?
  • netty 模型
  • netty 优点
  • nginx 鲸群怎么解决
  • rabbitmq组建
  • dns欺骗怎么办? arp欺骗?CSRF攻击?xss攻击?syn flood攻击?应对方法
  • Spring Boot启动流程以及生命周期 https://blog.csdn.net/u011277123/article/details/104476683
  • spring 事务怎么实现
  • ipc哪个快
  • B树和b+树分别有啥作用
  • JVM的内存模型
  • GC回收器JVM调优参数配置
  • Java中各种锁聊一下,CAS机制
  • volatile有用过么,底层实现
  • 数据库 有什么log ?
  • mvcc 的作用
  • 事务的实现原理
  • 做题

 

技术台三面 :

 

  • 讲项目
  • ipc哪个快
  • B树和b+树分别介绍
  • Java中各种 锁
  • CAS
  • volatile
  • 做题

腾讯 三面+hr面

一面:

 

  • java跨平台具体表现, 怎么实现
  • 为什么选择java,和c++ 区别在哪里
  • 介绍项目
  • 网络编程具体调用
  • http版本区别
  • tcp和udp,怎样使udp安全可靠
  • tcp粘包? http 报文怎么读取,怎么区分head和内容
  • 怎么跨域
  • 对头阻塞讲一下
  • BBR 怎么实现
  • 子网掩码是什么
  • C++继承和java 有什么区别
  • kafka 和rabbitmq 区别
  • kafka 为什么快,有什么优化
  • elasicsearch 分词器
  • 垃圾回收算法,java 11 用哪种,有什么优势
  • lambda表达式意义是什么,java是动态还是静态
  • linux怎么看进程
  • Docker 原理
  • dockerfile copy add 区别
  • 介绍docker-compose
  • 介绍k8s
  • 做题

 

二面:

 

  • 做题
  • 问项目管理,介绍scrum,kanban
  • 讲项目,介绍团队,负责什么角色
  • 特长是什么,实习有什么收获
  • 问排名,问成绩,为什么喜欢篮球,为什么喜欢红色
  • CLOSE_WAIT和TIME_WAIT 区别
  • MySQL的存储引擎
  • 内存泄露
  • 大量数据找前50%
  • CAP是什么,BASE 是什么, 2PC 3PC 区别、
  • DNS 递归
  • 飞机智力题
  • 堆排
  • 做题

 

三面:

 

  • 讲项目
  • http和https的区别
  • 死锁是什么
  • 僵尸进程
  • 孤儿进程
  • C++ java 范型区别
  • 有没有女友
  • 优点缺点
  • 做题

 

hr面:

 

  • 遇到不配合的队友怎么办
  • 遇到不配合的上级怎么办
  • 遇到不配合的下级怎么办
  • 遇到不顺心的事情怎么办
  • 遇到不友好的同事怎么办
  • 遇到刁难你的面试官怎么办

美团三面

一面:

 

  • 讲项目
  • io, 0拷贝
  • i++ 安全吗
  • Nat 穿洞怎么实现
  • 单例模式写一个
  • 快排写一个
  • jvm 类加载
  • java 各种锁区别
  • 银行家算法
  • 进程通讯
  • 递归爆栈怎么办
  • hashmap 原理
  • currenthashmap原理
  • arrayblockingqueue 原理
  • 写一个简单的arrayblockingqueue

 

二面:

 

  • 讲项目
  • MYSQL 索引
  • 数仓了解么,hadoop组件知道吗
  • 网络层有什么协议,有什么作用
  • 路由器在哪层
  • smtp端口,redis,mysql,zk默认端口
  • BIO 和 NIO 的区别
  • jvm 作用
  • jdk 常用分析工具
  • 怎么处理内存泄露
  • linux启动过程
  • vim 怎么删除一行
  • shutdown -r 和reboot 区别
  • du 作用
  • inode 有什么
  • pcb 是什么。包含什么信息
  • 职业规划
  • 方向不一致怎么办
  • 做题 leetcode 原题

 

三面:

 

  • 讲项目
  • 有什么offer
  • 选择bat 还是美团 ?

Shopee 3面 (最难)

一面:

 

  • 索引在什么情况下会失效
  • 主从同步怎么做到,半同步说一下
  • mysql 分布式事务
  • binlog作用?
  • mysql锁?
  • mysql存储引擎区别,innodb底层实现
  • limit offset大的时候怎么优化?
  • redis 为什么高效?
  • redis 为什么16384 个slot
  • redis cluster节点间怎么通信
  • redis 主从同步步骤?
  • 增量同步什么时候可以进行?
  • hyperloglog 作用?
  • 布隆过滤器? 缺点?怎么改进?
  • epoll为什么高效?有什么缺点?
  • gossip协议?zab协议?
  • raft 讲一下?
  • paxos 讲一下,和raft 怎么选?
  • 3pc 比2pc 不同在哪里?
  • 雪花算法?怎么改进?
  • 分布式事务?举个例子?
  • 蓄水池抽样算法?
  • 设计模式举例
  • 讲项目
  • 做题 约瑟夫环

 

二面:

 

  • 项目
  • 在主机和容器上部署应用程序有什么区别?
  • 介绍一下Kubernetes中主节点的工作情况
  • docker 实现原理
  • Kafka 消息是采用 Pull 模式,还是 Push 模式?
  • Kafka 怎么提升效率?多讲一些
  • kafka 怎么保证消息不丢?怎么保证有序?
  • kafka 怎么同步?
  • 消费者负载均衡策略?
  • 怎么判定如何存在哪个broker
  • zookeeper 实现分布式锁?
  • zookeeper 高可用?
  • nginx 高可用方案?
  • Nginx与Ribbon的区别
  • tomcat 定义了什么类加载器
  • tomcat 和 jetty 有什么区别
  • spring 事务隔离机制
  • spring boot 启动过程
  • servlet 和 jsp 处理请求过程
  • spring aop 概念,优点?
  • 微服务的好处?
  • 如何实现动态Zuul网关路由转发
  • hystrix 怎么实现熔断?
  • 谈谈服务降级、熔断、服务隔离

 

三面:

 

  • 期待薪资
  • 讲个项目
  • 有没有其他offer?
  • 反问?

面试常问智力题总结

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第2张图片

 

学习笔记/书籍推荐

我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编的二维码即可!

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第3张图片

Java核心基础总结:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第4张图片

 

好评最高的数据结构与算法:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer

 

Java程序员必备《Java核心知识总结》:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第5张图片

 

深入理解Java虚拟机第三版:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer

 

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第6张图片

 

Java并发编程的艺术(pdf版本)——Java程序员的必读书籍:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer

 

腾讯大牛手写MySQL实战:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第7张图片

 

腾讯大牛手写Redis笔记:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer

 

高并发设计:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第8张图片

 

阿里微服务笔记:

 

Java中高级程序员必备笔记:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第9张图片

 

其他:

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第10张图片

 

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第11张图片

 

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第12张图片

 

最后

祝大家在2021年的金三银四能个好公司,笔试顺利,面试顺利,谈薪顺利,实习顺利,工作顺利,加薪顺利,升职顺利,上岸顺利

我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编的二维码即可!

秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!_第13张图片

 

你可能感兴趣的:(java,架构,面试,算法,面试,Java,架构,程序人生)