北京小厂面经
问的比较简单,基本都是一些开放性的问题
几乎没有八股,项目也没咋问(不知道是不是项目没啥亮点)
八股很长时间没看了不是很熟
1.之前实习过吗,能实习大概多长时间
没有,寒假和下学期都可实习
下学期课程怎么办?
下学期只有一门必修。不上课没关系
2.怎么看待转语言这个事情
面试官说公司是后端是php
语言是实现功能和业务的工具,基础好转语言不是问题
3.考研还是就业
能力足够可以考虑先就业
4.项目是自己写的还是团队合作,近期写的是哪个项目,能说一下项目吗
自己写的,主要完成后端。(面试官理解为近期的项目网上找的项目我自己实现的后端,另一个项目是当作小组作业完成的)
把项目的业务流程说了一下,简单的介绍了项目里面的技术点。
5.如果现在一张表有千万条数据,如何处理
答的分库分表,对于数据量大的表可以将部分数据分到字段一样的副表存储,对于一些比较大的字段可以把他们从原表提取出来分成一张表,减少原表的存储空间
6.数据库有用过索引吗,讲一下索引的作用,使用索引有哪些地方需要注意
索引的作用是为了加快数据的查询,在指定查询条件时可以根据索引快速定位到需要查询的数据。
需要考虑设置索引的字段,一般是经常作为查询条件的字段
索引有可能会失效,比如联合索引不遵循最左匹配原则
(有很多可以补充的地方当时想不起来了)
7.我看到你项目里面用到了redis,能讲一下redis是怎么用的吗
redis是基于内存的键值对的缓存。
最主要是用于缓存.比如对查询的数据缓存避免下次再访问数据库导致多次io操作
存储服务器的共享内容,实现分布式。比如基于redis的分布式session
作为分布式锁,实现同步操作或避免重复操作。利用setnx的原子操作获取锁;设置过期时间避免任务挂掉锁一直不释放;利用看门狗机制给锁续期,避免任务未完成就释放锁而别的任务抢锁,导致多个任务同时执行。
8.使用redis有哪些要注意的地方
过期时间需要设置的合理,避免缓存在不应该过期的时间过期
缓存穿透,击穿,雪崩
9.对于一个书店系统,如何设计数据库
瞎说的
图书表,书类表,书类-图书关系表,用户表,用户-图书关系表(额外添加借阅或者购买字段)
我找了个设计比较好的,这个加了书排名,书评和点赞
10.团队开发中遇到哪些问题,有什么难点
团队沟通困难,理解对方想法和实现的功能和对方有偏差
团队想法一致性,对功能的实现方法不好同一
团队甩锅或者甩任务
11.做项目的时候如何考虑可维护性和可扩展性
设计项目时首先考虑上线项目需要实现的最基本功能,用图或表格或者文字简单清晰的记录下来,方便后期回顾。对需要扩展的功能简单写出想法,基本功能实现后再做考虑。
(随手想的,回答的不针对)
12.给定已下6点,你的考虑优先级是什么
1职业发展,2公司业务,3团队氛围,4薪资,5工作强度,6工作地点
引流