面试心得

来源:互联网 发布:java重写tostring方法 编辑:程序博客网 时间:2024/06/05 16:54

第一步:自我介绍;

               1.首先介绍自己,其次一定要突出自己面试的工作岗位。自己会什么,怎么做!

第二部:项目介绍;

                1.说一下自己做什么,怎么做一定要把自己做的模块,熟到不能在熟,在心里说很多次,最后基础要好好看,把别人的心得好好看!

第三部:技术方面;

               1.mysql与oracle还有sql server的主键;

                答:在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:

              以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值。最后查询表中id字段,查询结果为:

              由此可见,一旦把id设为auto_increment类型,mysql数据库会自动按递增的方式为主键赋值。

              在MS SQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:

              注意:在sqlserver中字符串用单引号扩起来,而在mysql中可以使用双引号。查询结果和mysql的一样。

              在Oracle中,可以为每张表的主键创建一个单独的序列,然后从这个序列中获取自动增加的标识符,把它赋值给主键。

第四部:高并发;

           1.禁用auto_increment的字段,

           2.id需要采用算法集中分配,

           3.Nginx反向代理,http请求,负载均衡。

           4.网页静态化,模板引擎与搜索引擎。

           5.sql的优化,加入资源服务器等。

第五部:支付经验;

           支付宝支付,

           微信支付,

           银联支付。

第六部:spring boot;

            1.spring boot 是一个轻量级的框架,省去的spring的xml配置,打成jar或者war包,体积小,

              缺点过度的封装,很多错误调试需要看源   码,调试困难,同时二次开发也困难。

第七部:redis生命周期;

           1.Redis可以通过给key指定一个生存时间(秒/毫秒),当key过了这个生存时间后Redis将自动删除这个key。

                在一些特殊的场景下面非常有用,下面我们介绍expire、expireat、pexpire、pexpireat四个命令,

                其中expire和expireat单位是秒;pexpire和pexpireat是毫秒。

第八部:sql优化;

              1.选择最有效率的表名顺序(只在基于规则的优化器中有效),

              2.WHERE子句中的连接顺序,

              3.SELECT子句中避免使用‘*’,

              4.减少访问数据库的次数,

            5.使用DECODE函数来减少处理时间,

第九部:购物车;

           1.如果没有登陆,先存到redis,每一个人肯定对应得 购物车模块,信息不一样,先去redis拿,

              如果没有在数据库拿,购物车的商品完成支付,就清掉。                 

第十部:线程;

          1.数据库服务器肯定对的同一个多线程,保证一个人抢到,可以用synchronize或者lock加线程锁,

             保证一个线程抢到更新表的资源,也可以表中加入版本号,抢到教练新表时候,

             线程持有版本号和表中最新的数据进行对比,不是最新的就回滚,否则更新表中预约状态。