对于银行(除了招银)来说,我的感觉是他们只看学历和笔试,每次面试都只问了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面:
-
遇到不配合的队友怎么办
-
遇到不配合的上级怎么办
-
遇到不配合的下级怎么办
-
遇到不顺心的事情怎么办
-
遇到不友好的同事怎么办
-
遇到刁难你的面试官怎么办
美团三面
====
一面:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
学习视频:
大厂面试真题:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
5834)]
[外链图片转存中…(img-GL3Jyhs0-1713002385835)]
[外链图片转存中…(img-QA2w2eB3-1713002385835)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-V8ckE24n-1713002385836)]
最后
学习视频:
[外链图片转存中…(img-1TJhPYVn-1713002385837)]
大厂面试真题:
[外链图片转存中…(img-YjfBW7Mi-1713002385837)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-2HcBt5Hv-1713002385839)]