自我总结的一些面试题-上海
前言
七月底因为一些原因离职,面试了一些公司,总结了一些面试题及面试经验,就想着记录下来分享给有需要的人。首先面试之前先去搜一下将要去的公司的规模,就我而言,总结的是大公司更爱问原生JS这一块,小规模的公司偏好问框架,简历上不要写精通XXX,面试官大都会先略微扫一眼你的简历上的个人技能,如果写了精通XXX,那面试官一定会刨根问底,问完基本使用会接着问框架实现某个功能的原理,比如vue的双向数据绑定是怎样实现的,用原生JS怎样实现等等...其次简历上不要写期望薪资,薪资依面试结果而定。
技术方面:
CSS
- CSS怎样实现浏览器最小字体,比如10px?
- CSS选择器有哪些?分别说出它们的作用?
- CSS怎样实现在一个大Div里四个小Div上下左右边距相同?请手写出具体的代码?
- 常见的兼容性问题有哪些?举例说明并具体介绍怎样处理?
- CSS布局方面,怎样实现左边宽度固定右边自适应的两列布局,如果换成三列,左右固定 宽度,中间自适应怎样实现?你能想出几种方式?具体代码怎样写,请详细说明?
- CSS3新增了哪些特性?说出你所知道的?
- H5新增了哪些语义化标签?说出所有你所知道的?
- 介绍一下CSS3动画?
JS
- 怎样解决每一步执行必须等待上一步的执行结果?如果知道请说出具体怎样实现,(如果回答出Promise追问如果不用Promise怎样处理)?
- 怎样调用后端接口?
- 介绍一下Ajax?
- 介绍一下什么是跨域?为什么会跨域?怎样判断是否跨域?怎样解决跨域问题?(如果回答出来jsonp:说说jsonp的原理)?
- 说一下this的指向?
- ES6有哪些新特性?知道多少说多少?
- 写出来一个原型链继承例子比如继承父类的某个方法或属性?
- 数组怎样去重?除了ES6方法,原生js怎样实现数组去重?
- 两个数组怎样拼接成一个Key一个Valu的形式?比如 ‘a’=’XXX’?
- Cookie,localstorage,sessionstorage,session区别是什么?
- 介绍一下什么是闭包以及闭包的作用?
- 数组的方法有哪些?具体说明?
框架类
- Vue的生命周期函数有哪些?具体说明一下,为什么能够在这些函数中写这些业务逻辑?(95%会问)
- Vue怎样实现动态路由?
- 怎样给用户分配权限?比如人事只能看到人事一部分内容,开发只能看到开发模块的内容?超级管理员怎样给某个用户分配权限?
- 组件之间怎样传值?如果答出Vuex请介绍一下Vuex是什么?以及介绍Vuex更新状态的流程?或者不用Vuex怎样传值?三种方式
- Vue怎样设置代理?平常我们开发过程中可能只代理一台服务器,如果有多台服务器我们该怎样设置代理?
- Vue怎样导入模块?
- 介绍一下v-if和v-show的区别?
- 介绍一下methods和computed有什么区别?
- 怎样封装组件?
- Webpack怎样按需加载?
- 怎样通过命令行创建一个空vue项目?
- 怎样验证用户是否登录?
- 怎样定义后端接口?
- 怎样通过路由传递参数?如果不在route里配置该怎样传递参数?怎样获取路由参数?
- React和Vue有什么区别?
- 用过图表类框架没?比如Echarts,Highchart...如果用过请说说其中的某些配置项?
- 移动端怎样布局/适配屏幕大小?
...其余自行补充
Git
- 怎样通过命令行提交代码?说出具体的命令?
- 怎样创建分支?怎样合并分支代码?
- 如果原定项目交付日期到了,产品要求开发其他功能你会怎么做?
- 怎样将之前分支代码暂存?具体命令是什么?
- 怎样处理冲突?以及为什么会产生冲突?
- 怎样切换分支?
- 怎样通过命令行克隆项目?
- 怎样查看提交日志?
- 怎样回退到某个指定的版本?
除此之外你还需要知道的:
- 如果你看不惯你的同事你怎么办?
- 你喜欢什么样的领导?你希望有个什么样的领导?
- 你在上家公司的离职原因是什么?
- 如果给你一个不可能完成的开发任务你怎么办?
- 你的女朋友/男朋友和朋友怎样评论你?
- 你周六周日喜欢干什么?
- 你对未来的规划是什么?
- 你找工作最看重哪些方面?
- 假如你碰到不会的问题你怎样处理?
- 你更倾向于有个大佬带你还是给你一个目标你自己钻研?
- 如果你的上司当众批评你,你会怎样做?
- 假如你和一个你不喜欢的同事要共同开发同一个项目你会怎么做?
- 你最看不惯哪一类同事?
- 你会在我们公司干多久?
- 假如你背黑锅了你会怎么做?