穗彩科技 Java后端实习 base深圳 一面
女面试官水平很高,我这个非科班被狠狠按在地上捶打40分钟。而且还没有深挖拷问实习和玩具项目,也没有硬上极端场景和系统设计。而且八股也只是问得广,没有深入进去讨论原理。只是表面的使用方法。就这样,我都感到和科班很大的差距。革命尚未成功,同志仍需努力。继续刷算法SQL,继续海投练面。
那我就从那个业务角度出发,就跟您说一下行吗?就业务角度出发,我们做那个业务,主要我负责的模块是(实习内容敏感)。对然后你听我说是这样的,就我还有做过那个Spring Boot的项目,就自己跟同学也有做过一些,然后除此之外就Spring Boot我在实体也有做过,但是权限比较低,有做过但是没有做到很内核的。 那我问一下你Spring Boot这一块的一个能够讲一下Spring Boot的这个IOC跟AOP吗?就Spring Boot的IOC它是属于那种控制反转了,然后那个AOP它是属于面向前面编程了,然后IOC的话它就怎么说呢?IOC它本身我能够了解到就最主要一个Auto Wire的注解,用Auto Wire能够依赖注入吗?然后它自己本身只要给它加一个那个叫什么,就有两种办法了,第一种办法是加那个Component的注解吗?或者说它对于有些第三方包的话要用那个Configuration嘛,Configuration注解里面然后加个并注解,然后您看一下我要不要就再深入讲一下那个AOP, 还是说就IOC继续。 可以可以可以深入讲一下,可以把你知道的讲一下,我会随机在其中说问的。 是这样,就IOC的话我了解了,它就最主要是用来让那个Spring来管理那个容器吧,然后让那个Spring管理容器,这样我就不用那个new啊,new出一个对象,这样的话它相对来说对于这个对象就可以复用嘛,有点像那个直话技术,就您说。 那你觉得这些场景下,哪些场景下用到这个AOP和IOC会比较合适?我觉得哪些场景下会比较合适啊,就比如说IOC, 我觉得就比如说你要新创建对象的时候,我觉得就挺合适,像比如说Service, 它不是有一个最简单的架构,就对于那个MVC嘛,它那些不管你说那个Map啊,还是Service, 还是Controller, 它你直接一个Add, 它就有点像那个Component, 然后对于这个IOC还有一些第三方包的那些注入,就比如说那个Redis Template, 应该是吧,对。 您看一下。 你知道这个它的那个SpringBoot的自动配置的原理吗?这个我不是很了解,但是我可以大致的说一下,就我知道的大致的步骤,就是它会自动扫里面的一些依赖包,就它自动装配,会自动里面去扫那个依赖包,然后我能够了解到它那个SpringBoot的Application, 不是有个启动内吗?它上面那个就有个SpringBoot, 它有个注解,它这个注解它是就里面是专门有个注解,负责去扫它那个下面那些第三方包,依赖包,就了解到这样。 那你知道这个SpringBoot的常用的一些注解吗?知道的,就刚才不是说了吗?Service啊,Map啊,还有Control啊这些,然后就这个是最常用的吧,那还有AOP它里面,比如一些PointCard, 就一些什么切入点,什么Before啊这些,就AOP, 那其实你看我要转到AOP还继续叫IOC。 嗯,行,那你如果说我要加载一个配置文档,用哪个注解会比较合适?我加载配置文档,我了解,因为我当时实习的时候,我上班的时候最常用就是Value注解,然后去读取那个YML, 那它其实也可以用那个叫什么,就不读那个YML, 直接读取那个Application那个文档也是可以,但一般都是用YML, 然后还有一种办法是,另外一种办法,我不是特别了解,就不是用Value注入,但是也是可以就达成类似目的,就可以单独给它出个配置类。 你再讲一下那个Spring的这个事务吧。 啊,行,那我对这个Spring不是很了解,我讲一下Spring Boot, 其实是一样的,好吧,我大概说一下,就是我了解Spring Boot, 它里面事务就不是通过那个XML, 它是就最主要,就比如说我常用的就Transactional, 直接在一个方法上面加一个那个注解,就它的目的就是为了,比如说我查两个数据库,如果一个数据库查的失败,它可以回滚,就不一定说查,查其实不一定需要这样,就如果是要做增删改操作,就如果说两个是一起,要保证它原子性,如果您看这个。 那你知道如果说我要,我要把这个Spring的,比如说我要定义了一个接口,我A service, 我要叫B service, 我要,我要调这么一个接口,我应该通过哪个注解呢?如果是A service要调用B service的话,用哪个注解?我,我这个东西,我感觉是用autowire注解,但是有可能不对,就因为它会不会就因为调用,它不是说直接去调用那个map, 它如果说是service直接附加,会不会说什么循环依赖,或者说这些什么问题,对吧?那你用过除了autowire之外的其他注解吗?autowire以外的话用的比较少,但是了解过,比如说resource, 就有过一些了解,但是是看人家用,自己就上班的时候没有用过。 那也就是你对这个resize这个的注解的一个原理,也不是特别了解是吧?对的,是的。 行,那我们再聊一下那个sql吧。 那行,那姐刚才我不好意思。 你是用sql吗?对的,我刚才能退回去再说一下吗?就那个resource和那个autowire, 我有一定理解,就有一定了解,它那个叫什么,就如果是resource的话,它是比较就是推荐,不是就autowire, 它不是很推荐用这个autowire, 我了解到这个是有一定原因,但不是特别清楚,然后autowire, 它好像是,它是就如果几个service的话,就一个是按照名称的,然后我记得一个是按照类型的,因为一个是类型优先,一个是名称优先,就autowire和那个叫什么,就resource, 它在扫那个包的时候,它对吧,就这个优先级它是不一样的,它可以就手动去怎么去设置它的优先级,但它有个默认优先级是不一样,就这样。 刚刚有聊到Spring的这个代理LOP, 那你知道JDK的动态代理吗?这个其实是有了解过,但是了解又不深,就JDK动态代理和那个CG-LIB动态代理,就有过一些了解,但不是特别,就它是为了实现LOP, 就是环绕的一些增加一些功能,没有就了解特别深,是这样,您看就是。 行,那我再问一下,那个项目当中是有用过多线程的吗?项目中确实是有用过多线程,就自己做的那些这个叫什么学习项目,有用过多线程,然后对于那个我实习的项目来说,就业务上可能体量不需要就这个东西。 那你讲一下你的多线程怎么用?就我多线程我用的就比较简单,就我多线程最主要就是直接给它继承那个叫什么,继承那个RUNABLE接口,然后我直接T点START, 然后我项目里面就对一个那个远端接口进行查询,所以说我用了这个东西。 相当于是自己开P了一个线程。 对,开P, 但是对我了解就可以用线程值,但是就没有敢去做,要我稍微说一下,或者还。 为什么,出于什么考虑没有用多线程,用线程值?就觉得如果是多线程,如果是直接就用个RUNABLE, 然后直接点START, 直接让它跑的话,有可能会比较方便,线程值的话,它有可能就多引入个复杂度嘛。 那你有没有考虑到做项目不是一个功能,它可能是非常多的功能,如果你开一个线程,别人也在开一个线程,那你就开了五个线程,那这个时候你的线程怎么去管理呢?对的对的,是是这样。 那你意思是,你还是没有用到过这个线程值,是不是?只是说就有了解过,包括我实习的时候也没有用到过,但我有就自己的一些思考,就对于这个线程值,就我要怎么去用,但只不过说就有可能上班权限不够,所以没有就去弄,是这样。 那你知道这个THREADLOCAL吗?THREADLOCAL晓得,就线程隔离,就用比如说学习项目里面,它如果说是不同用户之间,就用THREADLOCAL来进行隔离。 你觉得它用在哪些地方会比较合适?觉得用在什么地方会比较合适,就比如说怎么说,对于那个用户ID, 就对于一个那个线上的一个,它那个用户ID, 不同用户之间,我要隔离看看他们的操作,会比较合适,就这样。 那你知道它有些内存泄漏的问题吗?这个没有了解过,对。 讲一下这个,聊一下。 就CIRCLE吧,就姐刚才你不是说。 对,你刚刚用的是什么CIRCLE, MYCIRCLE? 对,用了MYCIRCLE, 但实际的单位用的是那个达梦数据库,就有点像那个OVERCLOCK, 要么就MYCIRCLE。 MYCIRCLE是吧?对。 那你讲一下这个MYCIRCLE的聚簇索引。 哦,就聚集索引,对吧?这个有一定的了解,但是了解的不多,就聚集索引的话,它是相当于就有点像个字典,就它根据那个存储的位置,跟它实际的那个就逻辑位置,跟物理位置它对应,但如果是非聚集索引的话,它相当于是要最后是有个指针的,就我了解就了解到这边,它有个指针,指向不同的物理内存,大概是这样。 那你知道数据存在哪个部位吗?数据存在,我这个有一定了解,我大概说一下,就我了解到,它以前不是有一个引擎叫InnoDB吗?还有叫MySM, 以前那个MySM, 它那个叫什么是分开来的,然后对于InnoDB来说,它那个是放一起存的吗?就它的那个索引,跟它的那个最后的那个B加数,它最后的那个数据,它要放一起,就聚集索引。 然后就我借,我大概说一下,这个继续升一下,还是说就转向那个索引,继续深入一下,要继续深入一下,那我了解到它那个B加数索引,就主要就了解了,然后那个MySM的话,它用的也是B加数,但是它是就分开来的,它不是放在一起,就大概只能说到这。 那你知道SOQL优化要怎么优化吗?SOQL优化会一些就很简单,入门优化,比如说SOQL优化,子查询会循环,用那个联表,会相对来说,它有的情况下,有可能子查询会快,但绝大多数情况下都联表快。 然后还有一些就对加索引啊这些,那要我说一下索引,还是说在刚才说的那个再加深一下,还转到索引。 可以继续聊,我会随机提问你。 行,行,那就我说一下就索引好吧,就是索引的话,它是这样,就索引的话,它我了解到的话,建索引就比较简单,是create index, 它建索引,然后索引的话,有可能会出现这个索引失效问题,那我能够了解到索引失效,就有的情况下,索引会失效,比如说它里面,比如说我了解了小鱼号或者大鱼号,有一些特定的符号,有可能就会导致它不走后面的索引,然后我能了解到可以用那个explain, 就执行计划来看一下,它最后能够看一下是不是走的索引,是我能够了解到,现在。 你知道如果要实现一个查询,比如说我要做关联查询,做关联查询呢,可能要查询一堆这个那个表,左表也比较大,我这个时候应该要用什么关联会比较合适?左表比较大,那就左外查询,就左边比较大,那就左外连接,left join, 或者left out join, 一样。 你知道什么情况下会导致索引失效?就我能够了解到,就我刚才也说了,就比较粗浅的,就有一些特定的符号,会有可能就导致这个索引失效,这个最基本的,还有还有,然后还有了解到一些索引下推,那就知道一些名词概念,就这样。 比如说我要,嗯,什么情况下,什么情况下,嗯,比如,应该叫什么,嗯,硬跟那个extend的那个是什么区别,是吧?是硬跟exe plan, 对吧?exe plan是执行计划,硬的话,你我不知道姐,你说的是,只是比如说select里面,那个硬还是其他的,嗯,你没有做过这种硬查询吗?嗯,我知道软硬的硬是吧?嗯,哦,行,是是这样的,就我可能这个没有了解过,就软硬查询,这个确实就没有了解过,这个,行,那你在,嗯,那你知道数据库的这个数吗?嗯,知道,就数据库,他不是那个叫什么事物隔离级别吗?就那个acid吧,然后他的事物的话,就我能够了解到他不是有事物隔离级别吗?他就为了应对那些什么脏毒啊,贯毒啊,不可重复毒啊,这些或者说这个丢失修改啊,这些来进去,然后从而他叫什么有一些什么可重度啊,串行化这些就隔离级别,应该我记得最那个应该是叫读取以提交吧,对吧?读取以提交,读取以提交,可重度,还有串行化,对吧?什么情况下会导致读位提交?读位提交,就比如说,我我想一想,读位提交,比如说他那个叫什么,就比如我刚才说隔离级别,如果说没有隔离到位,就没有达到,没有读以提交的话,他就有可能读位提交,然后就有可能造成是叫什么,脏堵。 再讲一下那个,JW的垃圾回收。 哦行,我简单说一下,这个略微有了解,然后我简单说一下行吗?就是他这个垃圾回收机制的话,主要他有一些新生代啊,老年代永久的,然后JDK1.8以后是不是他就那个对于那个叫什么,变成那个原空间,就对于那个方法区的那个实现,应该是变成原空间,所以就没有永久的,然后他那个叫什么,都最主要是回收堆里面内存嘛,然后有一些什么,就对于新生代,因为叫minor GC嘛,对老年代是major GC嘛,还有副GC嘛,就整个堆直接回收了,还有就如果说那个有一些方算法,有略微的了解,就比较粗浅的了解,像比如说什么标记复制啊,标记清除啊,还有一些什么,就一些什么,还有那些常见的收集器啊,像记忆啊,或者什么这些,就略微有了解。 您看就,我不知道就再深一下,还是说就,再。 您说的太浅了,再深入一点说。 哦行,就可能说了解就最主要,他如果是那个复制的话,就标记复制的话,有可能他就标记出,哪一些他是就怎么说啊,他是在一个链上的,就他那个引用,或者说他的那个对象是引用,是属于是可以追溯的,然后就给他标记出来,然后他清楚就清楚那些,没有办法追溯,然后有一个叫标记整理,应该是他就把某一些需要清楚,不需要清楚的要单独整理到一遍,然后这样的话就,就比如说把右空间里面那些不要,全部放到左空间,然后右边整个就拉掉,清楚掉,就能够了解到,然后那个G1的话,是现在JDK里面比较常用的,这个垃圾回收,然后他速度比较快,然后就了解到这边,需要被删除的是在青年代还是老年代里面?需要被删除的处于是新生代还是老年代,那他有不同的呀,那比如说有一些大对象,直接进入老年代,然后进行删除的,然后有一些他是在新生代里面,比如说他有两个E电源,E等区吧,然后那个叫什么又E等区,然后有那个S区就Survivor区,是大概是这样的,有两个Survivor区,左边E等区,是吧?Synchronize的原理,我可能知道他是用monitor, 但我只是知道名词概念,我没有就深入进去了解他详细的原理,好吧?你知道AQS吗?没有了解过。 你讲一下HashMap吧。 哦,行。 HashMap的话,他讲法里面集合框架有个常用的,然后就他最主要是不是建制对吗?然后他建制一般来说不能重复,然后不能围那个空的吗?然后那个JDK, 应该是JDK1.8和后面是跟前面是不一样,前面应该我记得是实现是叫什么?就拉链法吗?应该是就一个竖组合一个那个链表吗?然后JDK1.8以后就不一样了吗?他好像是就如果说竖组长度如果是大于64, 而且他那个链表长度大于8的话,他就后面就变红黑数了吗?链表。 就大概就了解到这边,然后作为就他一些常用的,像比如说put, 一些这个常用get, 或者说遍地用的entry set, 比如我常用就那个for, 在那个for循环里面加一个那个entry set, 然后对它进行,但有可能for一取会有一些问题,就在里面如果直接对它remove, 或者说会有一些问题,这个就您看要不要说一下。 这个就不用了,聊一下现成吧,现成这边,现成的状态你知道吗?现成状态知道,像比如说创建就对于现成的状态,比如说现成有那些什么创建主色啊,就运行有个runnable状态,就还有一些什么主色状态,或者说运行状态,运行状态也在那个runnable里面,还有一些什么主色啊,还有一些这个停止啊这些。 您看我要是就详细说一下,他们之间转换吧,或者是就有可能这个了解不多。 你可以讲一下他们是怎么转换的?就他们之间转换的话,就现成转换,比如说比较常见的,比如说就刚才不是问我那个single nice锁的原理吗?就single nice, 他是为了保证那个现成安全吗?就为了防止那个并发问题吗?那然后如果说我在一个状态,比如说我现在是属于runnable状态,然后如果这个时候我用sleep的话,其实是不是做这个状态的转换,这个时候我一般来说使用那个wait和那个notify会比较多一些,就wait的话就把它进入到主色状态,然后在notify的话就通知他又回到那个运行时的那个状态,然后就runnable, 如果说他是旧序的话,只要获得那个CPU时间片的话,就T点start以后并且获得CPU时间片,他就可以有,尤其你看看我就继续也差不多到这里,后面不太了解。 我这边再了解一下,你这边有用过redis吗?有用过的,因为之前不是说redis主要是缓存,那我问一下,就刚才soco的话,我有一些简单的了解,就是对于那个mysoco里面,比如说数据冷热分离啊,或者说一些主从同步,有简单的粗浅了解,您看我说一下,还有就是redis。 这个你就不用讲了。 那就redis的话,主要就是做缓存,然后缓存的话,就比如说那个除了做常用做缓存,我了解他作为那个消息对立,或者作为那个叫什么分布式锁的用法,是了解。 您看我要不要就缓存先说一下,好吧?可以讲一下缓存,就缓存的话,他最主要缓存能问的,就比如说缓存,他有一些常见的一些生产问题,就比如说常见生产问题,有一些什么,就比如说他会有一些缓存穿透啊,缓存寄窗,缓存雪崩啊,然后解决方法有一些就比较简单的,比较入门的一些解决方法,就我能了解到一些名词,像比如说对于缓存穿透的话,那个我先要我说一下详细的这个问题吧,还是说我直接说解决方案,你不用讲这些,你直接讲,因为这些都比较常见,对的对的,是的是的,我想问一下,就是你在你的项目里面,你的Redis用了哪一些,怎么用的,嗯,好的,我说一下,就我在项目里面最主要就是我对于,比如说我写的那个项目,我写的那个项目里面,我Redis是做了一个那个商品的一个缓存,然后我做那个缓存的话,为的就是确保他加快他速度,然后做那个旁路缓存模式了,就也是一种就比可能就比较相对比较友好,比较简单的一种方式,然后就对那个缓存进行操作,然后有了他的话,他速度会快一点,他在那个数据库之前挡一道了,然后这个缓存是这样的,就他这个缓存的话,旁路缓存模式就首先先查,如果说查没有查到的话,就从那个数据库里面拿一份,然后再通通到那个缓存里面,但如果说是我要改,就增删改的话,那我就直接就把它删掉,然后应该是有两种模式吧,是先删后更还是先更后删,你看我说一下,你是怎么用的呢?我是怎么样,我是先更后删,因为先删后更,我知道有一种方法叫延迟双删,但是这种方法我觉得就没有必要用,我是先更新数据库再删缓存。 你是用什么类型去存储?我存储这个数据,我是用String, 就最基本的那个String类型存储,但我知道购物车的话,是可以用那个用Hash的类型来进行存储,有了解过,但没做过。 你的那个,讲一下那个,应该是Redis它的一个串行化。 Redis它的串行化,Redis串行化,我问一下,跟持久化有关系吗?没有关系,我就不说了。 这个跟持久化是两个东西。 就串行化,那我也大概说一下,我知道一些Java里面,我稍微说一下,一看不对我就停了,好吧,就Java里面,它串行化比较常见,它串行化本身就从那个叫什么,对象变成那个二进制,或者二进制变成对象,那然后这样的话,它Java里面比较常用的,就自己它本身串行化功能,还有一些,比如第三方库,像比如那个Alibaba, FastJSON, 那些也可以做一些就串行化,那Redis串行化,我觉得就是要把那个就发过来,那个数据给它变成Redis能存储的类型,那我再问一下,用过Redis的这个锁吗?Redis锁的话,Redis这个锁的话是有所了解,但是就没有具体去用过,知道它是为了确保这个数据一致性,然后就要要我,然后我能了解到就有一个类似的功能,就Mysql里面不是也有锁吗,确保数据一致性,或者说有一些比较高级的,就我只懂一些原概念,或者说就那个Spring Cloud alibaba Seata分布式事务, 用过Redis的锁是吗?没有用过,对,那你讲一下这个Redis, 它是单线程的,为什么响应还那么快?它单线程是这样的,就它可以进行那个IO多路附庸,然后我记得应该Redis, 它在后面是有那个叫什么,就过有多线程的嘛,就,但它的多线程不是为了就进行IO读写,不是为了对那个套接资金处理,它应该是就针对于那些其他的一些事情,比如说那个怎么说呢,比如说一些日志还是什么,然后我就有一点印象,对于一些不太重要的,就开启多线程,但主要的还是单线程,可以避免这个叫什么,就并发问题。 你刚刚讲的IO多路附庸,那你讲一下IO多路附庸的这个模型。 这个我只能说就,我想一想,这个的话,我能够了解到它应该是,我不知道是内体还是什么,但是我这个确实不怎么了解,到这边。 GVM调优你会吗?GVM调优确实是,就这个只了解概念,不是特别会,就比如GVM调优,刚才不是说垃圾回收机制吗,那我说一个,我像我那个实习中碰到,但可能也谈不上调优吧,就针对一个报表生成,发生了OOM, 内存溢出,然后这个时候就调了一下,那个里面的一个参数,通过那个ID的那个运行,去调了一个,他的那个内存,一个那个大小,就调成256, 好像知道,128调成256, 然后就让他能跑,然后正常来说,我觉得GVM, 他的目的肯定是要让那个垃圾回收,更加高效吧,我认为,就是GVM调优。就就这样。 没了是吧,对,你会做那种Linux的这个命令的,Linux有过了解的,有了解,有过了解是吧,对的,那如果我要查这个,那个文,这个代码的这个日志的,Linux上面部的这个日志,我应该用哪个命令去查,你就是查的话,单纯要查的话,放了很多像看的话,这些都可以,什么more啊,list啊,这些都可以,然后里面还可以用一些,比如grep啊,然后正则匹配,做一些,或者说用一些那个awk命令,做一些简单的,看日志,如果我要编辑一个文档,编辑一般来说,Vim, Vim也可以的,Vim, 一般来说用Vim, 就只能了解到这里,如果我要查线程,你要要查线程的话,我稍微有点了解,我大概说一下吧,就你要查那个现成的话,他是就用那个叫什么,我想想用,可以用top命令,开那个任务管理器啊,然后也可以就我想一下,比如用free命令啊,直接查那个相关的一些这个,就这个我了解不是特别多,但但是知道就可以查那个叫什么,就通过有个t, 他有个选项是点杠,-大写的t, 是专门查他那个叫什么,就是现成,一个是查进程的,现成的话要大写的,一杠加个t选项,就有个命令专门查那个,就是现成的,那你知道那个,三星跟酷的区别吗?也是Linux里面的吗?还是Docker? 不是,三星跟酷没有,酷没有,这个没有太了解,哦,您说的session和cookie对吧?不好意思,刚才没有听清,不好意思,就那个三星和酷比是这样,三星还是,他这个都是属于登录的,就用户用户登录验证的东西,然后酷皮的话,他一般是存在那个用户的浏览器里面,然后三星的话,他不是放在那,一般放在服务器,然后用户酷里面放个三星ID, 然后您看就我要升一下,还是就说一下JWK, JWT Token, 并排,行,我再问一下,问一个,问一个sql的逻辑思维,现在有三张表,一张是学生表,一张是班级表,一张是课程,课程分数表,我现在需要你查出,每个班级的课目的平均分数,我先大概说一下思路,不一定能,就我如果碰到这个,一般来说我直接三张表先连一下,我连表了以后,然后我根据每个班级,我就针对班级分组查询,就那么部分办,然后前面放那个聚合函数,就ABG, 应该是吧,对,这个就是对的,这个就是可能是就有这个问题,那在这个情况下的话,我一般我主要我是用这个话,但如果那个话是不是可以针对其中一张表,比如说针对那个班级表,我就因为班级表,他不可能跟成绩放在一起了,那班级表肯定只跟学生ID, 不知道我思路对不对,应该应该是这样。那我问你个极端场景,如果表的体量很大,联表查询会非常慢,甚至会崩溃,和一些数据库锁的问题,那你还是直接联表然后硬撸吗?有没有更好的办法?嗯,抱歉,姐,想不到了。最多就是想到联表和子查询,觉得如果单表用MyBatis或其他orm框架查询后,全部送到服务器后台,然后服务器应用来进行过滤筛查,那它网络io会浪费很多时间,姐,差不多能想到这些。行,那我再问你一个问题,我现在要从一到一百里面,随机出三个,换一个吧,现在有十个数,每个数有一个百分比,就是百分比占比,比如说一占比百分之二,二占比百分之五,然后我要依此类推,我就直接假设,这个占比是一百分之一,二占比是一千分之一的占比,然后我现在要你按照这个权重,给我随机出一个数来,这个算法要怎么写,我想一想,一到十个数,然后每个数有一个权重值,我现在需要你用权重值,去把每一个数随机出一个数出来,但你随机的必须按权重去随,这个要怎么写,我现在能够想到的,首先是它不能随便来,我想一想,我能想到你看每个数,你先要看权重,权重一个是百分之二十,百分之三十,它们加起来百分之五十,然后要根据权重,我能理解你的意思,不是说简简单单搞一个random函数,你必须得确保权重高的出现的要多,这样的话,我能够了解到的,我能了解到,那可能就只能是出一个随机数,然后在随机数上承担权重,但就不是特别了解,不好意思,我也不乱说,现在是在国外是吧,对的,您能看到我吗,我现在我眼睛也不闭,能看到我,我看不到你,我只能看到你的电脑,我的妈呀,想问一下,你对英语这块,口语这块,是不是正常直接交流工作吗,可以的,可以的,可以的是吧,对的,那我想问一下,你对AI这块有没有所了解,对AI的话,我对AI的了解的话,相对来说不是特别多,有一些就比如说一些库,有一些库,或者说自定义AI的话吧,那些就掉了接口,有不了解,(个人生活隐私)公司具体业务是做彩票哪个方面?(面试公司业务隐私)哦,行,那其他我我再问一下,就请您看一下,就我之前说的哪有些不足,因为我自己也是记的,有一些地方说的不够深,就太浅了,我自己也是这么觉得,您看,说的非常很多时候都比较浅,我不知道是不是因为你们这边工作的这个经验不是特别的足啊,包括这个项目啊,包括了解到这知识啊,都非常的浅,就是没有办法去深聊,一深聊,这个可能就不太知道,包括有一些项目当中比较常用的,我觉得你这个要加深起来,要好的,工作年龄经验不足,但是有一些基础的还是要多了解,像比如加了基础啊,像放假的呀,像输出库的这些,这属于基础的,因为我们每天都要用的,一旦你了解不够深的话,一旦出生产问题了,这个是致命的,生产是实施交易的,我们这边都是跟企业直接打勾,对接的,你这一旦出问题了,这个都是致命的,这个损失就非常大,好的好的,谢谢,其他就没什么问题,其他都没了是吧,对的对的,行,那今天就先这样,好的,谢谢,姐辛苦你了,麻烦了,再见。