双非小渣本,京东软开实习,同程艺龙软开准入职。总结一下【介于春招和秋招】之间的求职历程,目的是想留点东西给学弟学妹,但愿学弟学妹们找一个好工做。前端
目录:若是只想看某一部分能够直接去看,跳过一些冗余的废话。
java
1 为何是【介于春招和秋招】
python
2 【求职渠道】mysql
3 面试官喜欢什么样的【简历】
linux
4 【技术栈】想要在北京找一份中厂校招/大厂实习,须要具有什么技能
程序员
5 【刷题刷书推荐】提高能力的最快途径
golang
6 【如何看待培训机构与外包公司】
web
7 【如何准肯定位】
面试
8 【面经笔经】
ajax
9 【总结】
由于秋招的时候,找了一份实习,就没考虑秋招的校招岗位,因此就错过了秋招,找工做的时候特别尴尬,12月 —— 1月,此时秋招以及秋招补招大部分公司已经结束,春招还没开始,简历经过率极低,岗位极少,想要找工做的同窗最好把握秋招(9月开始,10月后基本结束,11月-12月,陆续会有补招,1月不多有公司还在招人)以及春招(3月开始,4月基本结束,且不多有补招)。
【总结】:
【秋招】 神仙打架,各大厂的hc会井喷,竞争很大,同时机遇也很大。
【春招】 算是秋招的补招,hc较秋招会少,一大部分岗位面向的是下一届的实习生,还有海外学生(海外12月份毕业),我的以为竞争不比秋招少。
这里是按难度递增排名的:
这里多是面试难度是最低的,通常主要考察的是学校期间的表现和在校成绩,不多考手撕算法之类的编程题,可能去学校的互联网企业,手写代码,写出一个完成的快速排序就已经超过不少人了。(名校名企除外,不少知名企业的专场招聘会难度仍是很大的)
比起走春招/秋招的独木桥,实习转正也是一个不错的选择,好处就是面试难度会下调(不是绝对,好比字节跳动的实习和正式offer的面试难度是同样的,因此字节跳动的实习转正率也很高,听说能够达到50%),缺点就是可能最后没有转正机会,尤为是互联网行业不景气的如今,须要均衡考虑。(通常大企业的实习待遇都是很不错的,实习建议必定要去大厂,不要怕,实习的要求通常来讲都是比校招低的)
1 去别的学校参加招聘会,好比北京邮电大学,北京交通大学,互联网的招聘会就比较多,外校学生去也是有面试机会的,有的企业,上午是本校的面试,下午可能就会让外校的学生面试。
2 网申,在公司的维度上参加春招/秋招。去企业的招聘网站上申请,外地学生通常都会提供视频面试的机会,不用担忧太远,同时通常的公司网申是须要线上笔试的,因此须要提早安排时间,不要错过笔试。网申的周期可能很长,好比投了简历1个月才会安排,须要耐心等待。
3 内推,必定要把握内推机会,必定要把握内推机会,必定要把握内推机会,特别重要,内推的简历可能会免笔试,可能走单独的流程(好比你内推了一份简历,官网投递了一份,你就有两份简历在跑流程,有double的机会),可能不会留下面试评价(好比你表现很差,可是因为是hr邮箱中的简历直面,可能不会上传招聘系统,不会留下很差的面试评价,你就多了一次机会),可能有特别的标识(简历免初筛,或者简历优先处理),这里为何说可能而不是必定,由于全部的公司都不同,用的不一样的招聘系统,有不一样的业务规则。
这里推荐几个:
论坛:牛客网,国内没有哪一个应届生求职平台作的比牛客网好,【牛客玩的早,offer拿的好】
招聘网站:Boss直聘,拉钩网(有个技巧,好比你想找java,不要只搜索java,多试一下其余关键字,好比后台,服务器,客户端等,你会回来感谢个人),实习僧(实习僧上通常都是大企业,并且不只有实习,也有部分校招)。
微信公众号:Utips校招实习,刺猬实习校招、伯乐校招,可能会提供校招的咨询和内推,建议关注起来,同时还有职场小干货。
【总结】:多个渠道,多个岗位,多试一试,由于面试其实很大程度上看面试官的,可能同一家公司的不一样部门,面试难度相差很大,大厂也有混进去的。
这里简述,我的推荐【超级简历】这个网站,他有简历评分,简历排版,简历优化,简历模板,不少不少的功能,十分推荐,用这个作出来的简历,比我本身初版简历感受上好的太多了(关于这个简历的模板我也去专门请教过HR,HR说这个模板比较不错),很是适合不知道本身的简历怎么写的同窗,同时若是你的目光是海外的企业,不要简单的经过软件翻译本身的简历,而是要找英语专业的同窗帮你进行一些雕琢,由于直接翻译过来的简历可能不符合外国人的阅读习惯,从而影响本身的简历经过率。(关于简历,在牛客网上有【完美世界】HR的分享,值得推荐)
想要在北京找一份中型企业/大厂实习,须要具有什么技能?
对封装、继承、多态、面向对象的理解(不要求背定义,可是至少要有一个本身的理解)
接口、抽象类、访问控制符等。
锁 Synchronized、Lock的原理、锁的分类,锁升级 CAS free-lock。
线程 线程状态,状态切换、进程线程区别、线程池、建立线程的方式,一些经常使用方法:wait()、notify()等
一些主要的方法:volatile关键字、equals方法,StringBuilder作字符的高效链接等。
对反射,泛型有必定的理解,作作Demo。
对Servlet应该有必定的理解(虽然我面试的时候没被问到,可是对于理解框架自己十分重要) 【总结】: 以上只是说了一小部分,java基础必定要打牢。而后说一些基本不用看的
JSP:一种View层的渲染技术,如今基本已经淘汰了,可是我熟悉的Velocity、FreeMaker里面不少的语法和JSP中 的JSTL表达式极为类似,因此学JSP可让咱们在学习其余渲染技术的时候更容易上手,可是因为JSP的性能问题,先后端 混写问题,现已经淘汰了。
SSH框架:企业基本都已经用Spring Boot开发,SSH框架已经淘汰了,一是由于过重了,对性能有影响 2 是由于出现过几回重大的bug,因此目前新项目没有采用SSH开发的
Swing:UI框架,能够舍弃
XML 基本已经被json代替,用Java对XML进行渲染和解析的操做实际开发中没遇到过。
List
Set
Map
并发包(重点了解)
【总结】主要去看标注源码的,其余的能够有时间再看,源码不必定要逐行去看,能够找一下高质量的博客,看看里面的源码解读便可,并发包我看别人面经里不少,因此就去系统的学了一遍,可是不知道我面试的时候为何没有问个人。
JVM内存模型的分区,存储的数据类型,是否会发生内存溢出。
加载机制
双亲委派模型
gc算法、fullGC、MinorGC触发条件
G1,CMS过程
JVM优化(考的不是不少,主要是分区,类加载,和gc)
四种引用
BIO
字节流:类型、适用场景
字符流:类型、适用场景
NIO
类型、适用场景 三大组件的联系、使用 内存状况 消息
redis:基本类型,持久化策略,饱和策略,查找,使用场景,分布式锁,(分片和集群有时间能够看看)
Dubbo:工做原理,RPC协议,如何配置
RabbitMQ:工做原理,工做模式,如何配置
【总结】:消息中间件是锦上添花,主要仍是基础。
存储引擎 索
事务,MVCC,一致性读等。
锁机制。
SQL调优
表设计 (有时间还能够看看主从复制和读写分离)
Tomcat 结构、流程(没学过,可是据说有考的)
Servlet 生命周期 使用
springMVC 使用 请求流程
spring IOC/AOP 原理 Spring的一些使用细节,好比json怎么接,如何配置事务等。
mybatis 使用 #、$区别 ,对一和对多
Spring Boot 使用
Spring Cloud 会更好,可是没遇到过问的
单例模式
工厂模式
观察者模式
适配器模式
模板模式
原型模式
建造模式
【总结】
了解便可,时间充裕能够作作Demo,设计模式一共23种,知道经常使用的就行。
单例考的比较多,各类单例的写法和优缺点要掌握,也要准备几个项目中用到的设计模式,好比咱们的项目就 用到过,建造模式、模板模式、适配器模式。
数组、栈、队列、堆、图、树、集合、散列表、跳跃表。
都要了解,不管是找工做仍是为了本身的成长。
这里知乎上树总结的比较全,就贴一下:
二叉树
概念、适用场景、时间复杂度、好处坏处
B树
二者的联系、区别、适用场景
了解常见的排序算法:
冒泡排序、选择排序、插入排序(基础)
归并排序、快速排序(常考)
桶排序、计数排序、基数排序(了解、不要求手写)
堆排序(很重要,java中有它的实现,即优先级队列 PriorityQueue)
各类排序的思想 时间、空间复杂度、稳定性如何,能够手写
DFS、BFS
回溯法
贪心算法、动态规划等。
TCP 三次握手、四次挥手、各类状态、状态改变 拥塞控制、流量控制、累计应答。
如何解决乱序问题、如何解决丢包问题。
和UDP的区别
IO模型
同步、异步、阻塞、非阻塞概念
模型种类、各自特色、适用场景如何使用
HTTP && HTTPS:过程
DNS
TCP/ip协议
用户从浏览器输入一个URL,到接收到服务器响应的全过程。
经常使用命令
进程调度算法
用户态、内核态
进程线程区别
页的概念
【总结】:我的感受,不必定对,是我本身的复习大纲,但愿能够帮到大家。
提高能力的最快途径
资源: 【极客时间专栏】:均价80,干货不少,这里推荐一些我买过的
1 《MySQL实战45讲》 mysql的入门专栏,看到20章左右就能对MySQL有一个较为系统的认识了。
2 《趣谈网络协议》网络协议的入门专栏,看到26章,能够对tcp/ip协议有一个较为深刻的理解
3 《从0开始学大数据》0基础大数据入门专栏,感受像是科普文,我只看到了16章,写的仍是很是好的,也是由于这个专栏,因此后来去了同程艺龙,想听一下李老师的现场课。
4 《Java核心技术36讲》不适合入门,可是适合有必定基础以后再反复研究
5 《数据结构与算法之美》很是适合算法入门
6 《算法面试通关40讲》用leetcode讲算法题,很是推荐,主要实现语言是python和java
【看过的书】
1 《深刻理解Java虚拟机》 不是很厚,可是倒是经典中的经典,建议多读读
2 《Java多线程核心编程指南》多线程的入门书,很是推荐
3 《程序员代码面试指南》算法书,大部分是算法题的解法,若是基础不错,能够去读,可是算法基础不是很好的话,仍是用专门的算法书比较好,由于题永远只是辅助。
4 《网络是怎么链接的》 写的比较通俗易懂,由点即面的,我的感受比较好理解,可是最开始没有一个宏观的网络概念。若是是为了面试的话,专栏或者博客可能来的快一些。
5 《图解TCP/IP》也是,若是是为了面试的话,专栏或者博客可能来的快一些。不是为了面试的话,能够细读一下,写的挺有意思的。
6 《图解设计模式》 感受是同类里面最好的,比较精简,同时很全面,每一个设计模式都配有Demo,读起来也会比较顺畅。
7 《Head First 设计模式》 这本书被称为设计模式的神书,确实它会引导咱们去一步一步的解决问题,可能这个问题已经被解决了,而后咱们才会恍然大悟,原来我刚才使用了设计模式,可是较厚,为了面试的话,不推荐,时间充裕的话,能够仔细看看,写的确实不错。
8 《算法图解》用python写的,算法入门书,比较薄,看起来仍是比较轻松的。
9 《深刻理解计算机系统》殿堂级书,建议找个时间刷一遍,但不是找工做的时候,太厚了,只看过几章。
10 《算法导论》殿堂级书,用不少数学的方法去论证算法的可行性,建议找个时间刷一遍,但不是找工做的时候,缘由同上。
11 《码出高效 Java开发手册》建议刷一遍,写的特别好,涵盖了不少内容,书很薄。
12 《阿里巴巴 Java开发手册》也就是阿里规约,规范代码,建议看一下。
13 《Java编程思想》 有时间能够看看,可是不适合做为一本Java入门书,我Java入门的时候是学校的教材和培训机构的讲义,没啥好书推荐的。惭愧。
【总结】以上就是我求职期间看过的书,不敢对书的内容有什么评价,有些书很是好,可是不适合求职期间看。
【刷题】 我的的话题刷的很少,leetcode 110道,牛客网70道,去掉重复的题大概150道,算法算入了个门,刷题有不少种策略,龟派和兔派,我是先兔派(想10秒,想不出来就立刻看答案,看最优解)刷了100道左右,而后就高频的题进行龟派的刷法(尽可能时间、空间复杂度更低,方法更多的去完成)。
培训机构:我的以为培训只是学知识的一种途径,我培训过,而后找了第一份实习,并不歧视,可是要注意的是,【不要把培训机构看成一根救命的稻草】,不要过度的相信培训机构,要有本身的思考,必定要努力学习技术,技术有了工做天然就有了,靠包装是走不远的。
外包公司:有些用人单位会歧视上一家工做单位是外包公司的员工,并且外包工资真不高,跟校招无法比(不是歧视外包,实话实说)。
要注意,若是你面试的时候把面试官百分之百(指的是全部轮面试,1 2 3 轮加起来)题都答出来了,你就要考虑该不应去了,可能你进去了也没有多大提高。
要求应届生有产出的公司,让应届生上来就干活的公司也要考虑一下你所能获得的成长,由于大部分企业的校招生进去以后都是看成后备骨干来培养的,机会会很是的多,切莫舍本逐末。成长环境是最重要的,而不是每月多个一、2千的薪水。
这个就很少说了,每一个人内心都有本身的定位,投简历的时候不要怂,多投,多尝试大厂,而后双非渣本的同窗(没错,就是我),你本身能够调侃你本身是渣渣,可是面试的时候或者是准备面试的时候,别看轻本身,你本身都以为你本身不行,面试官为何会相信你的能力呢?
学校的经历
有什么良好的编程习惯和代码风格
泛型能够被继承吗?举个例子
JVM内存模型的理解 用过那些数据结构,
谈谈你的理解 mysql数据库多个字段都存在索引时,查询操做时应注意哪些问题
是否本身写mapper/dao/pojo?有没有能够自动生成的方法
mybatis拦截器的使用
spring mvc中如何使用自定义的注解
mysql事务的底层实现原理
mysql中innodb的索引结构
mysql中锁的应用
如何自定义数据库链接池 假设自定义的数据库链接池有10个空闲连接,此时共有12个连接请求,剩下2个连接如何处理,若是想实现等待,如何去设计。
是否进行过sql优化,具体说一下如何优化的
经常使用的编译工具,常用的快捷键
voltile和synchronize的区别
CMS和G1
SSM中先后端交互问题,json在其中的做用,它是如何在先后端进行传递的?
不一样项目中可能用到的jar包版本不一样,在发生版本冲突的时候,如何去解决
如何把本身的jar包上传至maven
前端会写吗
javaScript中的对象,是否有类的概念
ajax能够设置为同步吗
总结:感谢在我实习的时候捞了我一把,也真的学到了很多东西。最感谢的公司。
擅长的语言
项目中主要写前端仍是后端
项目前端数据如何展现?是先后端分离吗
用到的框架?
接触过SpringBoot吗
讲一下GC的理解
项目中如何保证事物
Java8的新特性
Volatile和Lock
项目中用到了哪些设计模式
如何保证分布式架构项目中的数据一致性
如何实时保证分布式架构项目中的数据一致性
算法:给一个整数n,表明n个左括号,和n个右括号,判断合法的排列组合有多少种?
总结:算法写的通常,当时用的全排,而后用栈来判断合法字符。面试体验特别好,可是须要去实习,不能发校招offer,因此很是遗憾,比较推荐。
抖音:
Gc
手写Web Socket
红黑树
手写跳跃表的插入过程
写一下TCP滑动窗口的算法
B树和B+树
linux的使用
TCP拥塞控制
算法: 每k个一组,反转链表
总结:面试体验很好,面试官给推荐了2本书,编程能力有待提高,手写除了WebSocket以外其余的基本都写不出来完整的。
火山:
一面: Gc
jvm分区
对排序算法的了解
手写块排,归并排序,分析时间复杂度,空间复杂度
证实块排是稳定的排序算法
arraylist源码分析
算法: 去除链表中的重复项 1 -> 1->2 ->3->3->4 结果 2->4
总结:答得还能够,而后一直在面试中,醉了。
笔试:比较简单,有一道题比较深入: 内存1G,须要计算1G的数据排序,哪一种排序方法效率最低,当时选的是冒泡,由于涉及到频繁的数据交换,其实应该是归并,由于归并非原地排序,多占用的内存空间,会与磁盘进行频繁的页交换,形成卡顿。
面试:
实习的感觉
学校的经历
手写二分法
手写图
手写图的广度优先算法
手写图的深度优先算法
总结:深度优先没写出来,广度写的也不是很流畅,图方面的知识看的太少了。
面试官:特别喜欢你,可是我可能不会给你过,蓝瘦。十分推荐去,真的会把应届生当成后备骨干去培养。
一面:
list arraylist linkedlist
二分查找分析
redis 结构
线程同步,异步,互斥 临界段 线程状态 线程方法
Gc
Mysql 索引
设计模式
算法:两数之和
总结:一面比较简单,面试官还给讲了saas,c#和java的区别等。
自我介绍 以前打比赛的经历
c语言会吗?
arm指令了解吗?
java反射的应用
用反射来获取成员变量的时候,遇到成员变量自己是一个对象,该怎么作。
用过什么锁,
了解分布式系统中的锁吗,使用场景
arrayList和linkedList的区别和使用场景
重写equals
操做系统中的页和索引中的页同样吗
http协议
mysql数据库中的索引
redis中的分布式锁
Spring mvc的处理请求过程
游览器缓存
前端数据渲染用的什么?用到模板引擎了吗?
redis中的分布式锁,如何保证的
框架那哪一种用的多,
简单说说springboot
单例模式的实现方法,区别,每种的特色
能够用反射来建立多个单例模式的对象吗
实习的经历和项目
为何选择同程艺龙,不留在京东
算法: 两个链表,其中只有1个重复的元素,找到这个元素。
总结:offer call了,不出意外应该是会去,第一是这个公司给人感受不错,新人体系很完整,而且很是喜欢一面的面试官,不出意外应该会分到一个部门,第二是不想折腾了,但愿能够有一段时间沉寂下来,学些东西。
写这篇面经主要的目的就是为了给学弟学妹们说一下如何准备春招/秋招,由于来学校的互联网企业太少了,但愿我踩过的坑,学弟学妹们能不要踩,虽然我们学校不是特别出名,可是整体来讲也算不错,加油。
——————————————————————————————————————
另外:以为有帮助能够关注博主,按期分享一些leetcode高频算法,Java源码解读,Java基础知识,软件破解与推荐,等等。