经验总结
====
-
之前多找实习,大厂实习转正很多 (没早找实习,都是泪)
-
尽量早点去实习,积累多一份经验
-
实习海投,很多时候玄学进,因为实习生要求真的不高 (北京懒得去,失去了大厂实习的机会)
-
实习感觉没用尽早跑路,不要有心理压力,没人在意螺丝钉的离开
-
正式招聘尽量早做准备,越早越好
-
准备好再投,千万别着急,不然提前批挂了一定会影响正式批,面评一直都在
-
尽量早投递(准备好的前提下,看面经能答出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 类加载
最后
做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务
遇到不友好的同事怎么办
- 遇到刁难你的面试官怎么办
美团三面
====
一面:
-
讲项目
-
io, 0拷贝
-
i++ 安全吗
-
Nat 穿洞怎么实现
-
单例模式写一个
-
快排写一个
-
jvm 类加载
最后
做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务
[外链图片转存中…(img-JfMpcaz3-1714207639982)]
[外链图片转存中…(img-8NXY6AkW-1714207639983)]
[外链图片转存中…(img-OGOJTWY0-1714207639983)]
[外链图片转存中…(img-eCZhlwqB-1714207639984)]