渣本渣硕经验贴-Java
前言
首先非常感谢牛客这个平台为我们广大靴子提供一个学习、交流和求职的机会,让濒临绝境的“小菜鸟”看到了希望。为了读研期间有更明确的方向,在入学前面试了几家企业同时也拿到来几家上市公司的offer。
算法篇
笔面试常考算法我将用一张图给大家展示然后在进行讲解:
不要看到上面那个图就被吓到了,你要记住你是找工作不是打竞赛,所以都是有套路的,那套路是什么的呢? 刷题!刷题!刷题(不是瞎刷题,要有思想的刷题)用刷题来战胜面试中的算法面。看到这,那你们肯定想问到底怎么刷题呢?
首先你需要判断你属于以下哪类?
1、如果你是算法小白,那么我们不要着急,从看完帖子开始,我们抓紧去做贪心和思维题
2.如果你接触过算法,那么我们应该去拔高自己,去多做动态规划
3.如果满足上面两点,那我们就开始把上面那个图的题型都刷一遍。
我们定位好了自己的水平,现在开始来刷题。
拿出一个知识点模块,进行模块化刷题,当刷的差不多的时候(这里只得你对每个模块有一定的感悟了)就开始成套题型练习。每次刷题的时候,如果看了题解那么我们就把这个题标记起来,隔几天就在回顾一下这个题,切记看了题解的题不要去抄写代码了。按照这个方法操作我相信你一定会从笔试一个题做不出来变为能做出来题。
我们应该在哪找这些题呢?
牛客为了助力大家找工作推出了牛客题霸,里面有很多高频的笔面试题,然后还可以给大家提供了标签选择,所以极大程度上帮助了我们选择题型,很好的帮助了我们模块化刷题,当我们模块化刷题结束的时候我们就可以去在牛客题库栏里面的公司真题进行套题练习了解各大企业的出题风格。然后利用休息时间我们可以去讨论区去看看面经积累一些面试常考的题。
唉看了这么多,你们心里肯定会想写着肯定简单啊,但是做着好难啊,你们在拼命刷题的路上肯定会说算法太难了,学不懂啊!!!(没关系我以前也学不懂,所以以前也报了牛客左老师的课程,虽然钱很贵但是收货蛮大的)不过现在牛客的算法课更加细分了,缓解来你们可以按照你们的需求来进行报班学习,我相信只要认真学都会有收获的。
System.out.println("坚持看下去!!!!");
开发经验
初识
先对以后的工作有个感性的认识。目前企业主流使用SpiringCloud、SpringBoot。顶层设计包括数据库设计,系统架构交由架构师和高级工程师搭建。项目经理和产品经理在了解业务需求之后,就交给UI做原型设计。项目经理将业务细化过后分配给初中级工程师,最后前后端工程师对接接口规范之后就开始撸代码了。那么我们就先从小小码农开始说起吧常用知识点
Java基础- 关键字
- 变量类型
- ArraLis、LinkedList、HashMap、HashTable、ConcurrentHashMap
- Java核心语法
- Java面向对象(继承、多态、封装)
- 集合框架
- 异常机制(非常重要的版块,异常处理没有做好的话bug漫天飞~)
- Java常用Api
- 反射机制 (这个版块需要理解,后面的spring相关的框架都是基于反射机制而来的)
- 线程、进程(常考问题)
- 设计模式(这个版块不用太着急,慢慢修炼内功)
- Java高级(jvm、并发、分布式锁、jni,nio)
数据库
数据库三范式(必考)
b树和b+树的区别
企业常用Mysql作为数据库,增删改查(必备),连表查询,索引,事物geli离级别,数据库优化
学有余力的同学可以去了解下noSql,比如redis,mongodb,hive。
分布式数据库(加分项)计算机网络
osi、Tcp/ip各层协议,每一层代表什么意思
三次握手、四次挥手
为什么三次,为什么四次,自己可以思考一下可不可以两个或者多次?
tcp、upd的区别(常考)
输入网址后了解从客户端到服务端的流程
网络状态码分别代表什么意思,2xx,3xx,4xx,5xx
cookie和session的区别
http、https的区别- 推荐入门书籍《图解http》
操作系统
进程间的通信、
进程与线程的区别
进程间的状态
进程间的调度算法
什么是死锁、如何处理死锁
linux系统的常用命令 *加分项(cp、mkdir、mv、ps、ls、history、ifconfig、rm、find、ping)项目管理
maven
git
svn容器技术
docker
k8s
框架层面
- Spring
什么是控制反转,什么是依赖注入。最最最基础的问题一定要记住 - SpringMvc
理解RESTful风格url,理解前后端的数据交互,熟练使用常用的标签。这些标签都是必不可少的,下来一定多敲敲、理解理解
@Controller
@RestControoler = @Controller + @ResponseBody
@RequestMappping
@ResponseBody
@GetMapping @PostMapping
@Request - Mybatis
理解实体类与数据库字段的映射关系,动手实现在xml编写sql之后
(感兴趣的同学可以去了解一下Mybatis-plus,在Mybatis的基础上,进一步的封装,基础的sql语句在service层编写即可) - 框架思维
MVC的思想一定要理解,为什么要分层,分层的目的是在于,每一层都要各行其事。controller层在于负责与前端的交互。service层负责业务的逻辑。dao层负责与数据库建立映射关系。
- 总结
程序猿这个职业活到老、学到老。学习工作之余注意保养。
必备书籍推荐《程序员面试金典》、《JVM虚拟机》、《程序员面试宝典》、《剑指offer》、《图解http》、考研408全书(也可以直接刷牛客网的线上考研题库,408和各个学校的也比较全)、《编程珠玑》、《深入理解计算机系统》、《TCP/IP 详解》、《程序员康复指南》
年轻人、且行且珍惜
业余时间大家可以利用课余时间来看看牛客大学公开课学习大佬的经验分享,然后多参加牛客竞赛签到抽奖(多划算做题还有奖品)
不想进大厂的程序猿不是好程序猿,想象一下这样的生活:大厂混几年,挣够了钱,然后去高校误人子弟多好
冲压冲压冲压、兄弟们、奥利给~~
渣本渣硕的兄弟们切勿妄自菲薄
不想当p8的程序员不是好程序猿
我期待大家 拿到offer
希望这篇帖子 能给予帮助 - 最后最后
while(life == true){ System.out.println("coding coding coding!!!"); }