58同城:一二面+HR面(offer):后台开发工程师
- 时间:10月27日技术一面,10月28日技术二面,11月10日HR面。
- 技术一面(25min)
- 项目里边是怎么使用数据库去维护数据的?
- 第一是会根据三大范式去建立冗余度小的表,比如分析后系统需要故障类型表,操作流程表,零件信息表。
- 第一是会根据三大范式去建立冗余度小的表,比如分析后系统需要故障类型表,操作流程表,零件信息表。
- 唯一索引和主键索引有什么区别?
- 能否讲一下如何使用K近邻算法优化手势识别的思路?
- K近邻算法的K是怎么选取的?
- 你是怎么选取权值大的特征点的?
- 怎么使用Redis对token的生命周期进行管理?
- 冒泡排序最优情况和最差情况时间复杂度,是否稳定?
- 服务端为什么需要四次挥手?
- 什么情况下会出发垃圾回收?面试官详细地介绍。
- 你先手撕打印三角形,我玩手机。
- 反问:技术栈、面试出结果时间?面试改进地方?
- 项目里边是怎么使用数据库去维护数据的?
- 技术二面
- 讲讲怎么搭建TCP高并发服务器?
- 搭建原因。
- 搭建方法。
- 搭建原因。
- 会涉及到多并发是吧?并发这块是怎么控制的?框架内部是怎么实现高并发了?
- 底层是怎么降低上下文切换次数的?
- 假设有一个进程,两个线程;和一个线程执行,哪个更快?
- 看任务量。
- 底层是怎么降低上下文切换次数的?
- 上下文切换主要发生在什么情况?
- CPU线程调度,讲到了用户态和内核态。
- CPU线程调度,讲到了用户态和内核态。
- 什么时候会从用户态切换到内核态?
- 进程通信。
- 进程通信。
- Java多线程写的多吗?
- 有写过多线程和用过JUC包。
- 有写过多线程和用过JUC包。
- 讲一下JUC常用的工具?
- CopyOnWriteArrayList和ConcurrentHashMap。
- CopyOnWriteArrayList和ConcurrentHashMap。
- CopyOnWriteArrayList使用场景?解决什么问题?会带来什么问题?
- 多线程安全。频繁读取,非频繁修改。
- 解决安全问题。
- 频繁读写时候,带来较大的性能损耗。
- 多线程安全。频繁读取,非频繁修改。
- 线程的优先级、执行顺序如何指定?
- start();里边传入一个参数,指定优先级。
- start();里边传入一个参数,指定优先级。
- Thread.sleep(0)有什么用?
- 不知道。
- 不知道。
- 讲一下HashMap的作用?
- 键值对。
- 键值对。
- 为什么初始化容量是16,能不能是15?
- 仅当容量len是2的幂时候,hash%len=hash&(len-1)
- 仅当容量len是2的幂时候,hash%len=hash&(len-1)
- 数据库SQLServer和MySQL用过吗?数据库的优化思路?
- 索引优化、大表优化。
- 索引优化、大表优化。
- MySQL的InnoDB的索引结构了解吗?为什么要用B+树?
- Hash索引和B+树索引。
- Hash索引和B+树索引。
- 给前序遍历和中序遍历,说一下思路,把树画出来?
- 根据前序遍历的根节点,到中序遍历里边切分。
- 根据前序遍历的根节点,到中序遍历里边切分。
- 反问:
- 改进地方?
- 学习并发框架的底层,不能仅会使用,要了解框架的底层原理。其他关于JUC基础,常用的包、数据库还可以
- 出结果时间?
- 学习并发框架的底层,不能仅会使用,要了解框架的底层原理。其他关于JUC基础,常用的包、数据库还可以
- 改进地方?
- 讲讲怎么搭建TCP高并发服务器?
- HR面
- 自我介绍
- 你为什么不选择vr和ar?你是机械工程专业?
- 你的优点是什么?缺点是什么?
- 有什么兴趣爱好呀?
- 你在项目中成长是什么?
- 你的职业规划是什么?
- 五年内的职业规划?
- 你对我们公司的了解是什么?对我们岗位的了解是什么?
- 你现在拿了几个offer?如何选择这些offer?
- 平台规模、业务方向、工作地点及待遇。
- 答得不太好,看不出来想过来。
- 期望薪资是多少?
- 签过三方了吗?
- 自我介绍