第一面
- 先发给你一个链接,对着面试官手撕代码
一共四道编程题(js实现)
- ,如何判断两个链表是否相交
- ,对于一个文件目录树的UI界面,假设后端接口返回了数组结构,请写函数将它转化成树形结构。数组里面对象的属性列表转换成嵌套的树形形式。
- ,分别用JS和CSS实现动画,将绝对定位的元素(已知id)从位置(0,0)渐变移动到(100px,100px),
- ,问题4: 实现一个事件订阅模块:支持on,off,加分项once。
- 基础知识的问题
- ,本硕期间学过的专业课程里面,你觉得学得最好的是哪一门?讲一下这门课都学了些什么知识?
- ,最擅长什么技术?
- ,设计模式有哪些?能不能举几个例子说下这些设计模式是怎么实现的?
- ,计算机网络有哪几层,http是哪一层的协议?TCP和UDP和HTTP的区别?它们分别是哪一层上的协议?
- ,你觉得CSS好写吗?
第二面
- 自我介绍
- 介绍一个自己做过的项目,项目里面自己做的模块,用了哪些技术,实现了哪些功能?
- 网页换肤功能怎么实现的
- js数组里面,有哪些方法?
- 给你两个json数组,如何判断它们内容是否一样?
- js事件是什么?有哪些事件?
- 事件冒泡和事件捕获分别是什么?它们有什么区别?
- Promise是什么?为什么要使用Promise?
- var、let、const的区别?
- flex布局是什么?为什么要使用flex布局?flex有哪些用法?在什么场景使用它?
- css选择器有哪些?某个标签有多个选择器选中它时,显示时的样式按照什么优先级进行显示?继承的属性的优先级是什么?
- 最后一个问题,你觉得你最大的不足是什么?你要怎么克服?
第三面
- 自我介绍
- 问一下实验室是否有项目?
- 介绍一下实验室具体的研究方向?哪几个研究方向?每个研究方向具体的应用场景?用于处理什么样的任务?数据的形式是什么样子的?输入之前要做怎么样的处理?
- 了解聚类算法吗?聚类算法有哪些?
- 进程在内存中的结构?分为哪几个区?
- 讲一下PCB
- 讲一下SpringMVC,为什么要用这个框架?springMVC在你的项目里面有什么体现?通过使用这个框架,具体是哪些方面得到了进步?讲一下你的项目里面怎么使用这个框架的思想的?
- 网络编程?socket初始化?
- Int、float、double类型占的字节长度
- 如何在100亿个数中找出最大的1000个数?每种方法的复杂度是多少?
- java实现线程安全有哪些方式?每种方式分别是怎么实现的?
- 了解有哪些锁机制?每种是在什么情况下使用?
- react和vue的区别?每个框架分别在什么场景下使用?