概述
自我介绍
众所周知,越丰厚的offer审核得越晚,所以拿到两百万offer的我现在才来分享我的后端JAVA开发秋招总结。
个人背景:985中下游本硕,无大厂实习(小厂打杂),无竞赛,无相关论文,半科班(转计算机)。
拿到的offer: 腾讯,百度,字节,美团,老铁,shopee,VIVO,交通银行,招银,中国银行
几乎都是sp,3个ssp,年薪加起来超过两百万(原谅我这个标题党)
因为目标工作地点在广东,不喜欢去做游戏,所以网易等公司都没有投递,我也不喜欢海投,投了简历的就只有阿里挂了,华为泡了5个月还在泡?字节面了7次才过了,面试过程在这里。
对于银行(除了招银)来说,我的感觉是他们只看学历和笔试,每次面试都只问了1-2个问题。下文主要针对互联网后端开发的经验。
本科几乎没接触计算机,拿到这么高的offer讲真我是不配的,只能说是运气+面试的点正好都看到,面试面不出来的实力和本硕科班的同学是没法比的。
我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编二维码即可!
经验总结
- 之前多找实习,大厂实习转正很多 (没早找实习,都是泪)
- 尽量早点去实习,积累多一份经验
- 实习海投,很多时候玄学进,因为实习生要求真的不高 (北京懒得去,失去了大厂实习的机会)
- 实习感觉没用尽早跑路,不要有心理压力,没人在意螺丝钉的离开
- 正式招聘尽量早做准备,越早越好
- 准备好再投,千万别着急,不然提前批挂了一定会影响正式批,面评一直都在
- 尽量早投递(准备好的前提下,看面经能答出70%以上),提前批sp ssp 的机会要多好多
- 不在意工作地点的话尽量选择总部或者岗位多的地方,比如字节北京深圳,阿里杭州,腾讯深圳,老铁北京,多多上海...像阿里广州,百度深圳hc少的很难进
- 不去的不要乱投练手,面试官风格都不一样,"练手“相当于浪费时间,但是如果你心态不够好,可以多面试锻炼
- 不着急拒绝offer,拿到offer提前去实习,不行就跑路
- 项目很重要,几乎每次面试都会让你介绍一个项目,但是不要讲烂大街的项目,很败好感
- 算法很重要,大厂面试算法题过了很可能就过了,一定要重视。
- 不要主动说没关的事情,无关的比赛第x名之类的面试官没提就别说了
- 面试前看看我之前的总结(智力题和面经),大厂很喜欢出几道智力题看看你的应变能力
面试重点
面试一般分成5个部分:自我介绍,做算法题,面试官问问题,介绍项目,反问。
自我介绍
- 面试前查一下公司资料,比如背后是阿里还是腾讯,竞品是什么,发展空间是什么,融资状况,业务范围....
- 建议自我介绍短一些,只说基本信息和相关的经历就可以,千万不要长篇大论。
- 简洁地突出优势,如 竞赛、论文、实习、学历、项目
- 最后可以加一句投递贵司原因,结合之前查的资料,适当夸一下公司,给他你真的像在这个公司工作的印象
算法题
- 很多时候会是leetcode变种题,建议不要背题,一定要理解做出来
- 基础入门 : 排序, 链表,图论,前缀树,递归
算法基础提升 : 哈希,并查集,有序表,字符串算法(KMP、Manacher算法),滑动窗口与单调栈, 二叉树与树形dp,大数据与位运算题目,暴力递归,动态规划算法进阶中级班 :贪心算法,二叉树、搜索算法 ,动态规划进阶算法,模拟-LRU缓存结构,线段树,TopKRecord结构... 较难的算法算法进阶高级版 :困难题讲解,各种奇淫技巧 - 问面试官拿提醒,比如时间复杂度最优多少,能不能提醒一下...
- 先和面试官沟通思路,不要马上写
- 写完分析时间复杂度和空间复杂度,写注释
- 讲代码要把其他想法也讲出来,例如 “或者可以用hash/二分....”
面试问题
回答一定要抓住重点,面试题不清晰可以先反问,不要自己补充一大堆(背这么多暴露了)
面试问题基本分为以下几点:
- 计算机基础: 网络(tcp、udp、http),数据库(MySQL),操作系统(Linux)... 这是大厂最看重的基础,对非科班来说,没时间就看看相关面经,有时间看书看视频,对科班来说复习下应该没什么问题。 【最重要】
- Java基础:java基础语法,面向对象思想,集合Collection源码,juc, 网络编程,io , 新特性, JVM.... 这部分要求熟悉,可以看书,看视频,看博客。【很重要】
- Spring全家桶:Spring (ioc、aop)全家桶,Spring Boot,Spring Cloud,Spring cloud alibaba 这部分要求会用,知道部分原理 【重要】
- 常用技术、框架:Redis,Zookeeper, MQ , Dubbo,ELK ... 这些需要结合项目,非必须但是是亮点,通常面试官会问你用没用过xxx, 你回答用过他才会深入问 【加分点】
- 常见工具: Maven, git , docker, Linux命令行 , vim ... 【锦上添花】
- 项目管理,设计模式 【加分点】
介绍项目
- 简单地说这个项目是干什么的,解决了什么问题,你的角色是什么,用到了什么技术,为什么选用这些技术
- 说一下项目指标,完成度...
- 说一下项目管理,敏捷开发有没有 之后面试官会根据你用到的技术深入提问
反问
- 问一下公司发展,部门业务技术栈,建议学习知识... 一般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?
- 反问?
面试常问智力题总结
学习笔记/书籍推荐
我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编的二维码即可!
Java核心基础总结:
好评最高的数据结构与算法:
Java程序员必备《Java核心知识总结》:
深入理解Java虚拟机第三版:
Java并发编程的艺术(pdf版本)——Java程序员的必读书籍:
腾讯大牛手写MySQL实战:
腾讯大牛手写Redis笔记:
高并发设计:
阿里微服务笔记:
Java中高级程序员必备笔记:
其他:
最后
祝大家在2021年的金三银四能跳个好公司,笔试顺利,面试顺利,谈薪顺利,实习顺利,工作顺利,加薪顺利,升职顺利,上岸顺利
我推荐的学习笔记书籍download(DL):转发并评论,关注后扫描小编的二维码即可!
最后
以上就是长情大地为你收集整理的秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!自我介绍经验总结面试重点自我介绍算法题面试问题介绍项目反问面试面经(字节跳动 7 面 )腾讯 三面+hr面美团三面Shopee 3面 (最难)面试常问智力题总结学习笔记/书籍推荐最后的全部内容,希望文章能够帮你解决秋招总结!面试攻略!看完就知道面试官给我200W年薪offer一点也不冲动!自我介绍经验总结面试重点自我介绍算法题面试问题介绍项目反问面试面经(字节跳动 7 面 )腾讯 三面+hr面美团三面Shopee 3面 (最难)面试常问智力题总结学习笔记/书籍推荐最后所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复