赞
踩
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
对于面试,说几句个人观点。
面试,说到底是一种考试。正如我们一直批判应试教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。
所谓面试造火箭,工作拧螺丝。面试往往有更高的要求,也迫使我们更专心更深入地去学习一些知识,也何尝不是一种好事。
分布式ID的设计方案?
很多,雪花算法,国内美团、滴滴、百度开源的记得一两个就可以了,然后找一个说说实现的原理。
比较简单的一个算法题,印象不是很清晰了,但是依稀记得是考并发工具包的设计
bigo三面
==========
三面一上来其实还是问项目,扣细节,这一面是技术的终面了,可能是老板面,所以没有很多的技术上的难题,针对的还是个人思维方式,平时解决问题的想法和思路。
Redis集群的特性,分布式锁的设计?
这个一般也没什么好说的,该背书就背书,分布式锁也是老生常谈的问题了。
问了项目架构,项目难点
再次被扣细节,平时要理解深刻。
算法是二分法的一个变形题,也不算难
bigo面试总结
============
面试难度总体来说一般,都是在网上能看得到的问题,但是必须都要会,比较顺利的拿下offer。
腾讯面试
========
因为读者已经先拿了bigo的offer,接下来腾讯的面试也算是更有信心了,至少有一个offer打底。不过腾讯一面问的非常广泛,提问速度也很快,如果讲的明白的话,立刻就开始下一个问题… …
腾讯一面
========
HTTP/HTTPS,网络安全问题?
说了说他们的区别,Https通信的机制,证书、密钥保证安全一些东西。
volatile和synchronize的区别?
八股文,背!
JAVA内存模型?
JMM一套规则,工作内存、主内存,原子性、可见性、有序性,happens-before等等都说了。
Redis分布式锁?
这个挺简单的,大家都会的,另外还要说下和zookeeper实现方式的一些区别,实际应用的过程。
Innodb讲讲?
把知道的都说出来就好了,行锁啊,MVCC,外键,一致性读一些东西。
ZAB讲讲?
就说整个ZAB协议的过程,选举、发现、同步、广播的流程。
怎么分库分表?
这个其实还是需要点经验的,没有对应到数量级的项目的话可能还是靠背书了,参考我的分库分表文章。
怎么自己实现IOC?
如果自己看过实现,这个就比较简单。
用过哪些设计模式,讲讲?
举例一些常见的模式,平时怎么使用的说说就行了。
怎么判断一个链表是不是有环?
刷题就好了。
一面的内容非常多,后面Kafka,Redis,Zookeeper,ES,计算机网络都有被问到,有一些回答的不是很好,不过还是过了。
腾讯二面
========
这一面比上一面还是好一点吧,没有那么多问题,感觉上比一面还稍微容易一点,还有一些简单的问题有点回忆不上了,项目的问题,我已经很熟了。
自我介绍?
自我介绍要准备好,不要太长也不要太短,几句话说明自己的职业生涯的情况,重点的项目,用到的技能点概括进去就行。
深挖项目,问了下商品表的设计,项目有什么亮点,或者认为有什么缺陷,怎么改进,并发有多少等等?
还是项目,深挖,没什么好说的了。
ES讲了个遍,包括基础原理和优化?
又重新说了一遍。
分布式ID的生成方式?
还是老问题。
再次聊了下项目,还有分布式事务相关知识,保证数据一致性?
也是老生常谈题,面试必问。两阶段、三阶段提交,TCC方案,还有强一致性、最终一致性等等。
为什么要用框架做分布式,没有行不行?
这种开放性的问题,说自己的思路就行了。举例子说明比如Dubbo这种框架解决了什么问题,如服务治理、服务编排、降级等。
腾讯总结
========
腾讯的面试相比bigo更加全面,更多的考察的是中间件的原理和使用,还有就是分布式系统下的一些常规的解决方案,平时这些知识点都碰到过,但是要多总结。感觉下来,整体难度也是一般。
附赠快手
========
读者非常优秀,临到采访结束之际,还要附送我一轮快手面试,只能勉为其难收入囊中。
数据库连接不上了,怎么排查?
还是看思路的问题,思考比如网络是否正常,数据库服务是否正常、权限等因素。
双亲委派模型,有什么好处?
说下原理,好处说了下安全、避免重复加载之类。
ThreadLocal讲讲?
看过知道就能说上来。
一次接口调用,在日志文件里打印”kuaishou ”+耗时,比如“kuaishou 20ms”,“kuaishou 50ms”, “kuaishou 100ms”,有十万条,用linux的命令怎么查出来耗时最短的十条?
这个不知道,然后面试官还一直硬要我手写出来… …
安装了一个软件,怎么在linux找到他的路径?
我说了whereis。
怎么查看jvm里线程状态?
jstack进程ID就可以了。
CountDownLatch和CyclicBarrier有什么区别?
这个看过就知道了,具体可以看我的文章有写道。
jps -m ,jps -l 用过吗?
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。