前言

最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题…
因为据我所知很多大厂技术面试的要求是:技术要好,计算机基础扎实,熟练掌握算法和数据结构,语言不重要,熟练度很重要。每一轮技术面试都可能考代码,不只考算法,但一定会考算法。

那你知道为什么要考算法么?其实核心是看候选人是不是足够聪明。考算法一般会分两步,第一步是直接让你说思路,第二步是让你直接上手写代码。很多大厂的算法题一般对应的是 LeetCode 中级模式,要通过面试,你肯定得花时间好好准备。
所以说算法是其中必要的一个环节!在面试中业务问题可以好好总结总结,但算法就必须依靠牢固的基础和刷题量。算法根基不扎实,不仅难过面试,对于代码性能的提升、编程语言的驾驭也会比别人弱很多。因此,现在算法基础不牢固的同学,都很难通过大厂的面试。但是只靠刷题去提升算法能力,进度太慢,而且还容易抓不住重点。

现在市面上的算法资料也五花八门,种类繁多,小编也整理了一份不同于市面且有意思的算法资料,不能说多全面,但是是小编花了很长时间整理归纳出来的,自我感觉还行。分享给同事及群里反响都不错,所以小编打算分享出来给大家,可以一起探讨完善

网易严选java一面

基本只问了Java相关的内容

  • 近期做的项目有遇到什么困难吗,怎么解决的;
  • HashMap详细介绍一下,怎么计算下标值的,时间复杂度是多少,最坏的时间复杂度是多少,在扩容的时候时间复杂度是O(n)的,你有什么方式去优化这个时间复杂度吗;
  • ConcurrentHashMap的底层实现原理,怎么查找的的,如何保证查找时的线程安全性;
  • 多线程介绍一下,如果一个方法被synchronized修饰了,你有什么方法可以去掉这个关键字,保证线程安全并且可以提升效率吗;
  • 线程池介绍一下,常用的拒绝策略有哪些;
  • 线程池中一般设置多少线程,你是怎么设定的,为什么;
  • 线程中中常用阻塞队列有哪些,你一般用哪个,LinkedBlockingQueue与ArrayBlockingQueue的优缺点对比;
  • JVM的CMS介绍一下,CMS重新标记时标记什么,为什么这么标记,标记待回收垃圾和标记保留对象的区别是什么,哪个更好一些;
  • Java开发中遇到问题了(比如报了异常),你一般怎么去处理;

就这些问题,半个小时,因为研究生期间做CV的,项目都是CV相关的,感觉没岗位相关的项目真是弱点,赶紧去网上找个项目水一下了。不确认面试官心里怎么想的,给我一次二面机会吧,有二面再回来写面经。


网易严选java二面

面试官挺可爱,上来先自我介绍,然后介绍一个项目。

  • 问项目中redis怎么使用的;
  • 如果自己实现消息队列,选择什么数据结构比较好,怎么实现;
  • MySQL的索引,怎么建立索引,建立索引时有哪些好的习惯;
  • 对于MySQL的了解程度,平时使用MySQL写SQL语句时有哪些心得,SQL的范围查询如何建索引;
  • 继续聊项目,因为项目是CV相关的,所以让我介绍一下深度学习和用到的模型;
  • 平时用过哪些框架;

面试时间比较短,基本上就是在聊聊项目,然后问一些数据库和Java的基础问题,基本就以上内容。问题比较发散,面试官想到什么有趣的问题就会问出来。所以面试的时候不要说自己没有把握的知识点,不然可能会被面试官逮住问。


网易严选javaHR面

在杭州网易大厦现场面试的,十五分钟。面试这么快,一般是两个极端,要么已经打算刷了,要么已经打算要了。

首先介绍一下在做项目或者实习中,遇到的一些问题,有哪些挑战,怎么解决的,有什么收获;

在项目中,未来有什么可以提升的地方,怎么去提升;

未来工作想做什么岗位的工作,有什么打算

未来职业规划;

只有一轮hr面,面试结束就让走了。基本上都是在围绕项目来提问的,没有问那些个人情况的问题