热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

自我介绍众所周知,越丰厚的offer审核得越晚,所以拿到两百万offer的我现在才来分享我的后端JAVA开发秋招总结。个人背景:985中下游本硕,无大厂实

自我介绍

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

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

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

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

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

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

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

我推荐的学习笔记书籍download(DL):这是DL地址,点击即可


经验总结
  • 之前多找实习,大厂实习转正很多 (没早找实习,都是泪)
  • 尽量早点去实习,积累多一份经验
  • 实习海投,很多时候玄学进,因为实习生要求真的不高 (北京懒得去,失去了大厂实习的机会)
  • 实习感觉没用尽早跑路,不要有心理压力,没人在意螺丝钉的离开
  • 正式招聘尽量早做准备,越早越好
  • 准备好再投,千万别着急,不然提前批挂了一定会影响正式批,面评一直都在
  • 尽量早投递(准备好的前提下,看面经能答出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个问题就差不多了

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

我推荐的学习笔记书籍download(DL):这是DL地址,点击即可


面试面经(字节跳动 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?
  • 反问?

面试常问智力题总结

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

学习笔记/书籍推荐

Java核心基础总结:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

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

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

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

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

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

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

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

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

腾讯大牛手写MySQL实战:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

腾讯大牛手写Redis笔记:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

高并发设计:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

阿里微服务笔记:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

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

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

其他:

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

非头部计划,秋招总结!我凭本事拿到了年薪200万的offer(JAVA)) - 文章图片

 

最后

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

我推荐的学习笔记书籍download(DL):这是DL地址,点击即可??????????????



推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • SLAM中相机运动估计的基本问题及解决方案
    本文讨论了SLAM中相机运动估计的基本问题,指出了解决方案的存在。作者认为阅读相关SLAM书籍是掌握基础原理的有效途径,而不是仅仅依赖现成的解决方案。同时,作者也提到了激光雷达和特征点匹配等技术在SLAM中的应用,并建议读者深入理解相关原理,而不是盲目追求现成的代码。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
author-avatar
卢-lydia09
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有