双非本科破局百度暑期offer,上岸率50%,实力运气?(附面经)
Posted java路人甲乙丙丁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双非本科破局百度暑期offer,上岸率50%,实力运气?(附面经)相关的知识,希望对你有一定的参考价值。
关于我
- 21届本科毕业生(民办高校,无竞赛),Java后端方向。
- 三月初开始投递实习,历时两个月,投递40余家各大中小厂。
- 一共得到两次面试机会,最终百度上岸。
- 因为个人水平防止误人子弟,这次分享不包含太多指导向的内容,只是希望大家可以从我的经历中得到一些参考。
作为双非本科学生的一些想法
正视学历带来的劣势以及与他人的差距,但也不必患得患失、妄自菲薄,把握住学生的身份,实习和校招绝对是进大厂的捷径。
相比较于名校学生会有很多公司被筛学历,可能不会有多次面试、面到熟练的可能,所以珍惜每一次面试机会。
要自信不要自大。
春招的整个历程
这个自己用Excel记录了所有投递的公司、时间点
投递情况
投递40家,简历挂21家,笔试19家,面试2家,1个实习offer
是否内推?
基本都是内推,但都是牛客网上搜到的内推,所以依然在初筛挂掉很多家。
心态的保持
都说每一次面试失败都会带来一轮自我否定,我也有限的经历过,这个过程是痛苦但有益的,失败了才会认识的不足,知耻而后勇,既然选择校招、求职肯定是会经历的。
关于笔试&面试--代码题
笔试的算法题难度较高,模拟、动态规划、图论等类型的问题比较多。
面试时的算法题有可能是在视频面试平台(牛客、赛码)的编辑器写,也可能是腾讯会议这类软件分享屏幕在ide里写,难度相比较于笔试题低。
面试时的算法题因为有时间限制,难度较低(听说头条的很难),但大多都是来源于leetcode以及剑指offer,对于一般难度的面试来说剑指offer和leetcode top200已经覆盖绝大部分了。
面试时要先讲明白思路,对问题的理解、准备怎么去解题。就算最后写不出来也要和面试官讲清思路。
关于面试——基础部分
多总结,多总结,多总结。思路清晰写的好的可以尝试整理发布为博客,即使没有写博客作为个人笔记也能方便查阅、加强理解记忆
基础部分以书籍和优秀博客为主,面试时专业名词和概念叙述准确且流畅,最好不要死记硬背,要理解的讲述出来。
基础部分的考察点多且杂,我在初学时,是先铺广度(了解这些名词、这部分知识大概是做什么的),再钻深度,切忌贪多和好高骛远,有想法就可以去实现下。
面试其实也是一场技术交流,对于面试官的问题,既要对答如流,也要作为一个叙述者的角度讲述出来,死记硬背是下下策,包括算法题也类似,即使这道题很简单,几行代码就可以写出来也要和面试官讲下思路,我在腾讯面试时写了3道算法题,两道剑指offer原题写的很快但没有先讲清思路被diss默写算法题,,,。
关于面试--项目部分
熟悉功能、挖掘亮点。
考虑可改进的地方。
分布式、微服务固然加分,curd要理解透讲清楚也不一定减分。
如有能力尽量上线且保证运作正常。
关于面试--拓展部分
关于拓展性知识,新技术多了解,不求用过但问到要能说上一二。
重视每一次笔试和面试,笔试的题尝试读一读ac的同学的代码(一般笔试完牛客网会有很多同学分享);面试要多复盘,总结不足。
面经总结:
百度面经(已上岸):
一面(50分钟)
记不太清了,有遗漏,顺序不一定,基本都是按简历来的。
- 自我介绍。
- 项目相关的问题和延伸,问的挺多的。
- mysql索引简单介绍下,问了怎么用、优化。
- 了解哪些Map和List?HashMap详细讲一下。
- TCP和UDP区别,简单说了下,没深入讲拥塞控制这些。
- Java类的继承和接口的多实现。
- equals()和hashcode()的问题,这个我看面经也很多问的。
- Java有哪些锁?
- 讲讲公平锁和非公平锁的区别。
- volatile关键字。
- 线程池的参数。
- JVM的内存区域,垃圾回收主要发生在哪?
- 垃圾回收算法。
- 场景题,要用信号量的,我答成了CountDownLatch。
- 算法:检验括号有效性,这里写的不好在提示后才写出来了。
- 反问。
- 职业规划。
一面面试官好像是在家里面试的(挺辛苦的还得加班),问题答得可以毕竟基础,项目因为本身很简单答得中规中矩吧,算法写的不行,不过还是给了二面。
二面(55分钟)
一面完直接就二面了。
- 自我介绍,穿插了一些MySQL的问题。
- 讲项目。
- 算法:n个有序数组求topK,没写出来,用小顶堆复杂度太高了。
- 算法:LRU,有个大样本没过,90%。
- 反问。
二面算法题写的不太好,但是面试官直接说等待下一轮。。。。
三面(35分钟)
三面技术方面的问题问了
- TCP四次握手详细说说,越详细越好。
- 算法:求两个链表的相交结点。
在这些问题前问了好多非技术的问题(聊天),比如学习方法、项目难点怎么解决的、有哪些压力大的时候、项目开发怎么和其他人沟通的&有冲突了怎么解决矛盾等等。。。会问到很具体的内容。
腾讯面经
一面
确实和牛友们说的一样哈,Java问的很少,基本都是计网、数据库、操作系统这些,已经凉了,给大家参考下吧。总共41分钟
- 自我介绍
- TCP的流量控制讲一下
- TCP的拥塞控制算法有哪些?(只简单说了慢开始,面试官一直在引导但还是没说出来)
- 进程通信有哪些方式?
- 页面置换调度算法有哪些?(操作系统突击的。。。没复习到)
- linux用过吗?怎么查看端口使用情况(netstat)?怎么查看CPU使用情况(top)?还有吗?(不知道了)
- 数据库一般用什么(MySQL)?MySQL怎么查看执行计划?(不会)
- 数据库范式说一下
- MySQL的存储引擎有哪些?(Myisam、InnoDB,嘴贱多说了个Memory,就知道它支持哈希索引),他们都有什么区别?
- Java的继承和接口的区别(确认了一遍就是问的这个)
- Java写一下工厂模式,3分钟
- Java的JVM内存模型是怎样的?
- 堆区详细讲一下
- 介绍一下垃圾回收算法
- 锁的优化方式讲一下吧
- 带环链表找到环的入口,Java写一下(快慢指针)
- 怎么计算一棵树的深度,写一下吧(刚发现当时没听清直接写了计算二叉树的高度,不过面试官也没说什么)
- 最近最少使用算法,写一下,要求O(1)复杂度(写了一半没写出来,说了我的思路)
- 讲一下最近在做的项目吧。(俺的项目太垃圾了,springboot的curd,我都快说不下去了)
- 做项目中最难的模块是哪个?怎么解决的?(说了我项目里唯一还行的redis做的点赞,不过还是能感觉到面试官的失望)
- 反问阶段,我问了面试官对我的评价,面试官问了问我这些是不是都是自学的,然后说计网和操作系统基础不太行,项目这块经验还是不够(其实我也知道项目太low了)
第一次面试,大概回答的情况就是这样,主要不足的在于基础还要继续学习、项目得做个像样儿点的,然后就是比较紧张语言组织的不够,晚上笔试完网易互娱查看腾讯的面试状态已经灰了,再接再厉吧,可能春招就这样了,至少还有秋招来一次。
总得来说还是很有参考价值的。面对大厂,简历已经要好好做,尽量准备充分,引导面试官问简历的内容和涉及到的技术。我们也准备了一些大厂面试的参考,希望大家一起学习,一起进大厂哦。
阿里超全面试题答案解析版:
由于文章篇幅有限,面试题的答案比较多,尤其是一些比较“刁钻”的问题,都有非常详细的答案解析记录,所以都整理在了文档内,文末有获取方式!
说在最后
现在很多程序员,都会陷入到一个怪圈:看到别人升职加薪,又觉得为啥别人运气总是那么好,我和他差不多时间进公司的啊!然后去跳槽,发现,现在的面试这么难的嘛,动不动就底层原理,动不动就源码分析,Java不好做了,做Java的人太多了,我还是转行吧。
归总到一点,就是没从自己思考,从身上找原因。无论对于程序员来说,还是对于其他岗位,想要涨薪升职,自己的能力肯定要跟得上,而唯一的办法就是通过学习来提升自己。
废话也不多说,我自己分享一下我自己的一套学习资料库,大伙看看有没有需要的:
- Java核心知识点:
- Java面试宝典:
Java基础部分、算法与编程、html&javascript&ajax 部分、Java web部分、数据库部分、XML部分、流行的框架与新技术、软件工程与设计模式、j2ee部分、EJB部分、webservice部分、其他。
- 架构学习资料:
- 学习视频:
以上这些学习资料都能够分享给小伙伴们,希望能一起努力,共同进步!有需要的小伙伴一键三连(点赞+收藏+关注)
以上是关于双非本科破局百度暑期offer,上岸率50%,实力运气?(附面经)的主要内容,如果未能解决你的问题,请参考以下文章