各位老铁们,大家好,今天由我来为大家分享学生会网站源码分享,以及学生会官方qq的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
2.24,我获得了我春招开始投递简历以来的第一个Offer先说一下故事背景~
笔者双非二本本科,21届,在校期间参与过ACM但是成绩较差:省赛银,区域赛当炮灰(简历没写),B组C/C++蓝桥国二(因为成绩菜所以就只有用蓝桥充数了~其实大厂一般不会看蓝桥成绩的),去年9-11月花两个月时间写了个Demo(只写了一半不到吧,因为有很多功能其实都没写,这个在项目README里能看到)。
到目前为止已经面试的有京东(上周末一面结束)、阿里(提前批CBU二面,ICBU一面)、字节(一面凉,这是第一次参加的面试,体验极差~)
这里我试着总结一下我自己在面试过程中所遇见的问题和思考吧
如果需要进入CVTE(目前我只拿到了这个Offer,所以只能用这个举例,而且我是实习,校招这种会更难一点点)这样的公司的话大致需要以下几点(下面列出的大概有六分之一我面试的时候也不会~)
原始知识积累
这里指的原始知识是一些常见的概念。比如我要应聘web后端研发,那么需要知道的应该有以下知识:
MySQL(事务、索引、存储引擎)Java基础(常用的集合类、JVM、Java基础语法、并发编程)常用的中间件(Redis)计算机网络(TCP/IP、HTTP等)一点点项目经验
以上所有点,都基本需要保证自己能够针对某一点不间断的描述20分钟左右干货(比如MySQL的事务就可以算做一点)。这里总结一下上面知识问的比较高频的部分
MySQL
事务事务特性(ACID)事务的隔离级别(读未提交、读已提交、不可重复读、序列化)分别能解决哪些问题(脏读、不可重复读、幻读丢失修改)MVCC(多版本并发控制)事务的回滚(undo、redo日志)索引索引有哪几种索引的底层实现,b+树和红黑树的比较、和b树的比较索引失效索引优化策略explain慢查询优化存储引擎MyISAM和InnoDB的区别两者之间索引结构的区别各自的使用场景锁(共享锁、排他锁、行锁、表锁、间隙锁)SQL语句(常见聚类函数的使用、表连接查询)
Java基础
集合类HashMap和ConcurrentHashMap(基本上是场场必问,需要了解源码)ArrayList、LinkedList、TreeMap、LinkedHashMap、HashSet等需要了解底层数据结构和各容器之间的优劣势HashMap和ConcurrentHashMap在JDK不同版本的改动以及原因(JDK1.7、JDK1.8)常见基础(这个很多,可以参考其他面经,我这里只提几个比较经典的)String为什么不可变String、StringBuilder、StringBuffer的对比接口和抽象类的区别单例模式(几种实现方式的区别最好具体了解下,因为从这里可以问到JVM中的内存结构和JVM对于多线程的一些处理策略)JVM(较重要)类加载机制常见GC算法JVM内存模型JVM运行时内存区域常见垃圾收集器(主要是CMS、G1,知道ZGC并且能说出原理是加分项)常见的启动参数JVM内存溢出的分析过程锁(主要是synchrized、volatile这两个关键字在JVM中执行的行为)并发编程创建线程的几种方式线程池原理以及参数含义死锁产生条件以及解决策略J.U.C下部分类源码阅读Lock接口下实现的锁和synchrized关键字的比较,还有各自的优缺点AQS(抽象队列同步器)
Redis(一般是结合项目问)
常见用途底层数据结构(SDS、字典、跳跃表、链表、压缩数组、整数列表这几个都需要了解)RDB和AOF两种不同备份方式的比较以及优缺点(从各自原理、性能、稳定性答)跳表和红黑树之间的比较(从插入效率、实现方式、内存消耗以及特殊条件查询几方面进行比较)SDS和原始字符串的比较(从缓冲区溢出、扩容方面答)字典和HashMap的比较(扩容方式、扩容大小)
计算机网络
TCP(需要深入了解)TCP头部(大概知道头部能够传递哪些信息,常用的部分需要记住占据了多少bit)三次握手四次挥手(具体到两端之间的状态)每一次握手挥手失败的处理拥塞控制(慢开始,快重传、拥塞避免、快恢复)流量控制(零窗口的含义、接受窗口的协商)Nagle(糊涂窗口综合症)常见的攻击(SYN泛洪攻击、DDoS)HTTPGet和Post的比较Session和Cookie的比较常用的HTTP头部常用的HTTP状态码HTTP1.0、1.1、2.0三个版本各自的特性HTTPS中的SSL握手过程常见的攻击(CSRF、XSS)
简历
首先简历是非常非常重要的,作为技术岗,简历上跟技术无关的东西要一笔带过,同时不推荐写学生会相关经历,因为面试过程中有一面是你入职后的直属leader担任面试官,而且对学生会经历不看好的比看好的人多。简历中可多列举技术点,比如写了熟悉Java基础,最好写上能够证明的东西,比如熟悉Spring框架,曾深入剖析过Spring-Core源码这样子。不要干瘪瘪的只写个熟悉MySQL上,这样会让面试官很难发挥,只能天南海北的问。如果撞到你会的点上最好,如果没撞上亏的是自己。我这里也可以给大家做简历参考,信得过我的话可以把简历发送至me@bestsort.show,当然我也只是根据我的经验提出相应的建议,不一定全部正确。
有个人博客且内容比较充实的的可以将博客地址放在明显位置,加分的~
交流
在面试过程中,很重要的一点就是和面试官的交流了,如何去把一个事物在几乎没有准备的情况下清晰地描述出来(描述的时候不支支吾吾,一句话内不要大量出现然后、就是、emmm这样的词汇),如果碰见不会的,千万千万不要口胡,技术面的面试官一般来说只要问了你这个问题,就说明他是知道答案的,随意信口开河的话给人的观感很差。要知道每一轮面试表现都会记录,Offer的发放是根据几轮面试情况综合考评的。如果不清楚这一方面的知识的话,直接给面试官说明即可
项目
项目是非常重要的,我在投递阿里提前批的时候面试官就建议我们:项目经验哪怕是拿课设改改都行,千万别空着,包括打ACM的同学也是。当然,项目最好不是Demo、不是商城/秒杀。商城、秒杀可能是很多人都会跟着视频做的一个项目,但是面试官见过的肯定比你多的多,如果你是面试官,遇到了一群抄一样答案的你会怎么办?而且个人商城、秒杀这一类项目有一个巨大的缺点:没法落地。没法落地就代表这个项目没经过实际环境的考验,而没落地的项目对大厂而言其实本质上和Demo没太大区别,都是Demo,为啥不做一个其他比较稀有的东西呢?自己凭能力去写一个简陋的webserver,绝对能秒杀商城、秒杀这一类。
如果有项目的话,面试官一般都会结合项目问问题,一般比较常问的有
项目的架构(总览全局的能力)项目中遇到的困难(考察技术水平和实践能力)项目中对于某些问题的想法(考察思考问题的方式以及是否全面)某些实际问题的分析(最常见的就是项目中遇见的OOM怎么去排查)
可以从这几个方面准备一套大致的回答思路
作者:bestsort链接:https://juejin.im/post/5e54983d5188254903694157
文章到此结束,如果本次分享的学生会网站源码分享和学生会官方qq的问题解决了您的问题,那么我们由衷的感到高兴!
