互联网行业虽然不如几年前那么火爆,甚至大环境颇有进入寒冬的风声,但是只要掌握行业必备的知识,努力打好基础并持续提升自己,还是很有希望收获满意的offer的。下面我给大家分享一下我整个求职历程的准备经验+面试经验,希望对大家有帮助。
个人情况
普通211本科非计算机专业,没有任何实习经验
校招期间,大大小小的公司一共投递60多家,不过也放弃了很多家(这里一定不要嫌麻烦,集中投简历确实是一件很枯燥的事情,但是为了增加求职成功的概率,是必须要克服的)
最后拿到的offer:vivo、oppo、平安科技、深信服、美团、腾讯、蘑菇街、恒生电子
还有一些小公司或者知名度不太高的就不列举了,之所以投递也是为了积累面试经验
考研还是找工作
大三上半学期的时候,就必须要规划自己的人生路线了,要尽快决定考研还是找工作,不要后面长期犹豫不决
如果是互联网行业的话,我个人建议是优先找工作。因为这个行业,大部分情况下工作经验比学历更重要。但是并不是说硕士就不如本科,而是面试官对硕士的期望值常常会高于你的成长值,导致面试官落差很大,不利于面试过程。面试官可能会觉得相比之下还不如找一个年轻的本科生更划算。
如果决定了找工作,那么就要尽早开始做准备了,尤其是对于非科班出身的同学,需要学习的基础更多。下面我就分享一下我决定找工作后备战秋招的准备工作
秋招备战阶段—重点!
我找工作的方向是技术岗,需要学习掌握的知识很多,所以我用一年的时间来学习相关内容,代码语言我选择了JAVA,有能力和精力的话强烈建议再掌握C语言或C++,对面试有加成效果
针对所有需要掌握的能力,我来分别总结一下重点内容:
一、项目(最重要)
想要在校招中收获不错的成果,拥有项目经历肯定是必不可少的。不管是自己做项目,还是有一份不错的实习经历,都可以在面试中游刃有余。如果你的项目很不错的话,拿到sp offer,更高的年薪都是可能的。
而我因为之前太愚钝,没有找实习的意识,所以只能通过自己做一些项目来补足短板。
对于项目的选择上,不要选太简单的,那样含金量不够。项目期间要注意收集难点和问题,面试时候都会问到
如果找不到合适项目的同学,也可以参考一下我做过的项目,在我的公众号【互联网小灵通】里回复 “项目” 就能看到。没错!我就是靠这个项目拿到8个offer的。。。
二、数据结构
数据结构是必须掌握的内容,是面试的必考点,一般会以单个知识点的形式问一些小问题
1、数组:包括概念、用法、基本操作,多维数组等
2、队列和栈:包括区别、用法、常用方法、双端队列等
3、链表:包括特性、使用场景、不同链表元素特点、单双链表、反转等
4、字符串:包括常用方法、操作字符串、切割、反转、元素等
5、哈希表:包括键值对、存储格式、哈希函数等
6、树和图:包括较复杂的算法、遍历、二叉树和完全二叉树、最优路径算法等
三、数据库和SQL语句
技术岗是必须具备数据库能力的,熟悉常用数据库,熟练掌握常用的SQL语法
1、主键、外键、超键、候选键概念
2、drop、truncate、 delete区别
3、什么是临时表,临时表什么时候删除
4、非关系型数据库和关系型数据库区别,优势比较
5、数据库范式;varchar和char的使用场景
6、什么是内连接、外连接、交叉连接
7、索引的概念和用法;事务的概念和用法
8、乐观锁、悲观锁、死锁、主从数据库的概念
9、SQL语法:insert、delete、update、select、where、or、and
10、SQL关联查询、排序、分页查询、效率优化等
四、操作系统
不同的公司对操作系统的考察要求不一样,但是总体来说对操作系统的要求不高,只需要记住一些重要知识点
1、线程和进程的区别;进程间的通信的几种方式
2、多线程;线程的实现方式;内存溢出
3、Linux或Windows下常用的操作命令
五、计算机网络
1、OSI七层模型、TCP/IP协议簇、IP掩码网关、ARP、DHCP的概念
2、TCP和UDP的区别;TCP三次握手四次挥手;TCP中的流量控制和拥塞控制,TCP可靠性传输
3、交换机和路由器、HTTP/HTTPS协议内容、DNS解析、socket通信
六、手撕代码(算法)
面试中极大概率会让你在白纸上手写算法,所以常见的算法一定要烂熟于心,频繁练习和理解,能做到不假思索就写出来。因为事实证明,如果你只是一般程度的理解,那么在面试中,极大概率会因为紧张,一个字都写不出来,那就很危险了
1、八大排序算法;递归;实现队列和栈;
2、单例模式;二叉树遍历;二分法查找;字符串操作;
3、哈希算法;算法的时间复杂度和空间复杂度
面试经验
接到面试肯定是既惊喜又紧张的,下面我就分为面试常见考题和面试法宝两个方面传授一下经验
一、常见考题
1、介绍知道的网络知识,三次握手,tcp /udp的区别
2、进程,线程的区别;锁机制;多线程?多线程会出现什么问题?多线程通信方式?
3、java多态?重载好处、坏处?;java内存空间?什么时候需要回收?mvc了解吗?
4、同步处理?synchronized、volatile?;mybatis是什么?原理?JUnit用过吗?
5、Linux了解吗?说下基本常用的命令?ip的包结构?抓过包吗?;https?常用的状态码?
6、平衡二叉树是什么?HashMap底层?怎么存储?get和post区别?
7、怎么优化查询?mysql隔离级别?锁?
8、性能测试怎么测?指标有哪些?怎么测自己写的项目?以登录为例?
9、交换机和路由器区别?mac表和路由表有什么字段?
10、对云计算、虚拟化容器了解吗?session和cookie区别?
11、单例模式,工厂模式是什么?gc垃圾回收的机制是什么?反射的机制是什么?
12、手写一个堆排序、冒泡排序、快速排序等;手写一个遍历二叉树输出元素
二、面试法宝
终极大招来了!掌握了我的这些面试法宝,你就有一半的概率能拿到offer了
1、就算你觉得自己很弱鸡,也不要表现在脸上,在面试官面前的你一定是自信的;就算问到你不会的问题,你也要自如地告诉他,不好意思这个我不会,并且相信下一个问题自己一定会
2、再一次强调,一定要多投一些公司,包括看不上眼的小公司。大量的面试过程会让你的面试经验突飞猛进,并且能让自己进入一种适应面试的状态,跟高三天天考试一个道理
3、每次面试遇到不会的问题,一定要记录下来并且弄清楚。根据某种诡异的天意,上一次面试不会的问题,如果没弄明白,下一次面试绝对又被问到。。。
4、代码能力、计算机网络、数据结构、操作系统、数据库等等,这些知识领域,如果没有深挖某一个领域,那么就需要每一个都懂一些;如果没有时间学到每一个领域,那么就把自己懂的领域深挖一下作为亮点(我就是因为手写算法代码的时候特别流畅,几乎是不假思索,并且非常准确,给面试官留下了深刻的印象)
5、自己做项目的时候,要注意把项目中值得一提的技术点和难点整理一下,面试中一定会问到。如果你能顺着话题反过来向面试官提问这些技术点更进一步的深层次问题,效果会特别好
6、等待面试的时候,最好可以多了解一下所面试的公司,特别是公司的业务和产品。如果面试官问到相关问题,你还能对公司提出一些合理性建议的话,你的印象分会提升得很高
总结
不管你是各方面都了解还是只突出某一方面,只要自己真的懂知识,会技能,那就不愁找不到工作。
不过说实话,面试确实是个玄学问题,有时候莫名其妙就挂了,有时候莫名其妙就过了,也看一部分运气吧
如果有什么疑问也可以直接私聊我,希望大家都找到满意的工作呀
最后,再把我的公众号二维码放在这里,如果需要求职项目的同学可以进来回复 “项目”
同时,公众号每天都会发布内推岗位,如果需要校招和社招的小伙伴也可以关注哈
网友评论