1. resist v. 抵抗, 耐得住, 抵制, 反抗
n. 防染材料
re-反 + sist-站 → 反进来站 → 反抗。
resistible resist【反抗】 + -ible, 表形容词 英[rɪ’zɪstəbl]美[rɪ’zɪstəbl]a. 可抵抗的, 抵抗得住的
irresistible ir-不,非 + resistible【抑制的】。
1. resist v. 抵抗, 耐得住, 抵制, 反抗
n. 防染材料
re-反 + sist-站 → 反进来站 → 反抗。
resistible resist【反抗】 + -ible, 表形容词 英[rɪ’zɪstəbl]美[rɪ’zɪstəbl]a. 可抵抗的, 抵抗得住的
irresistible ir-不,非 + resistible【抑制的】。
一、失去爆破音规则
6个爆破音有3对/p/,/b/; /t/,/d/; /k/,/g/
1.失去爆破,又叫不完全爆破,就是在某些情况下,只须做出发音的准备,但并不发音,稍稍停顿后就发后面的音。
清辅音:p t k
浊辅音:b d g
2.这六个辅音叫做爆破音,pbdtkg爆破音+辅音,前面的爆破音就不读了,在句子中同理(前一个单词以爆破音结尾,第二个单词以辅音开头)。
二、辅音连读
注:两个辅音一起,要快速的读,像一个音一样 spy [spaɪ] :
1.[sp] 辅音连读p要发b的音
spy [spaɪ] :间谍
sport [spɔːrt] :运动
2.[st] 辅音t读d的音
stay [steɪ] :停留
steak [steɪk] : 牛排
3.[sk] 辅音连读k要发g的音
sky [skaɪ] n. 天; 天空;
三、连读
1.辅音+元音
come out [kʌm aʊt] 出版
2.r+元音
There is :[ðer ɪz] 读作[ðerɪz]
3.元音+元音
you are 美[jə ɑːr] = you’re = your
四、弱读
1.is are am was were
are:强调的时候读[ɑː],正常读ə(r)
2.助动词 do does did don’t
1.作为分为Task 1 和 Task 2 两个作文,考试时间一小时,安排在上午。Task 2占2/3的分数。
2.如果拿到题目,Task 2能在40分钟写出,那么就先完成Task 2,否则先写Task 1找感觉。小作文是客观题,大作文是议论文,主观题。
3.备课中后期,小作文不应该超过25分钟,议论文不要超过45分钟。考前一周冲刺阶段,严格按照一小时完成两篇作文。
4.学术写作特殊要求
缩写形式 | 推荐形式 |
can’t | cannot (连在一起) |
don’t | do not |
I’m | I am |
shouldn’t | should not |
5.大作文要仔细审题,画重点(名词等关键词),还有关键虚词(连接词and or等、程度副词)
1.雅思考试是测试用英语的说理能力,所以对idea的论证过程的要求只是reasonable符合生活常识的。
2.论点思路关键字
关键字 | 连接词(助记) | 关键字 |
Skill 技能 | 提高 | Efficiency 效率 |
Technology 科技 | 保障 | Safety 安全 |
Right 权利 | 对应 | Responsibility 责任 |
Environment 环境 | 影响 | Health 健康 |
Employment 就业 | 获得 | Money 财务 |
Culture 文化 | 带来 | Fun 乐趣 |
记忆:STREEC
类似于:streak 裸奔
议论文,考官偏爱折中式。即,正反两方面都进行论证,但更倾向于其中一方。
不给任何观点,只给出一种现象。要求分析这种现象的:causes原因、solutions解决方案、problems带来的问题 、factors影响因素、measures应对措施、effects影响等。
注 :出现概率占比 15%-20%
要求辩论观点,比较利弊。
段落 | 句子 | 备注 |
1 | 1~3句 | |
2 | 1+ 6~8句 | 正方总论点+(各个分论点+解释+支持句) |
3 | 1+ 4~6句 | 反方总论点+(各个分论点+解释+支持句) |
4 | 1~2句 |
注:适用于能想到的分论点比较多,支持句(supporting sentences)比较少的情况。
段落 | 句子 | 备注 |
1 | 1~3句 | |
2 | 1+ 2~4句 | 正方分论点1+解释+支持句 |
3 | 1+ 2~4句 | 正方分论点2+解释+支持句 |
4 | 1+ 4~6句 | 反方总论点+(各个分论点+解释+支撑) |
5 | 1~2句 |
注:适用于聚焦在一个分论点上,能想到比较多的支撑句。
分为两类:明承接(直接用连接词)、暗承接(代词或者和分论点有关的名词)
助记:果粒对比,不设下限 这8类
因果、举例、对比、类比
让步、假设、下定义、限定范围
注:作文总共用到其中2~4种即可。
Idea —> Eplain in detail —> Example(支持句)
分论点—> 解释分论点—> 支持句
注:支持句使用上面8种中的2~4种,不要使用一样的
段落 | 备注 |
开头 | 简短,两句话:背景/转述,我的观点(a、b折中) |
二三段 | 论点、分论点、支撑句 |
结尾 | 简短,总结,表达观点(同开头) |
tips:
举例:
Q:有人认为吃火锅带来的快乐,大于锅爆炸承受的危险,多大程度你同意或者不同意这种观点?
段落 | 备注 |
开头 | 简短,两句话:背景,转述两种观点 |
二三段 | 论点、分论点、支撑句 |
结尾 | 简短,给出自己的看法 |
注:开头也可以表明观点,但是官方范文多数不会给观点,而是留到结尾再给。
tips:
举例:
Q:有人认为吃火锅好,有人认为吃火锅不好,描述这两种观点并给出你的看法。
提问方式:
注:是和否提问
段落 | 备注 |
开头 | 简短,两句话:背景(就是题目的利弊),我认为,利大于弊(弊大于利) |
二三段 | 一方面,xxx利,论述。另一方面,xxx弊,论述 |
结尾 | (简短)总结一下,我相信xxx利大于xxx弊(xxx弊大于xxx利)。
(简短)总结一下,我相信xxx有积极意义(xxx具有消积意义) |
tips:
开头段:背景(题目中认为的利弊), I believe that the advantages of this outweigh the disadvantages.
结尾段:Overall, it seems to that the benefits of xxx outweigh the drawbacks.
举例:
Q:现在,认为吃火锅带来的快乐大于锅爆炸承受的危险的人越来越多,这一趋势是否利大于弊?
提问方式:
注:给定现象,分析它两个方面(产生原因、解决方法、影响、好处、弊端等)。最长出现的是:原因和解决方法。
必须注意好要求分析哪两个方面
段落 | 备注 |
开头 | 1.简短,两句话:背景,这种情况有几种原因和几种措施去解决它(原因和解决方法)。
2.简短,两句话:背景,是xxx导致的,yyy有很多种好处(why,what好处)。 |
二三段 | 1.主要、次要原因是xxx,论述。有不同的解决方法可以去解决这个问题,xxx和xxx。
2.为什么。有xxx好处。 |
结尾 | 1.(简短)总结一下,这种情况有不同的原因,有不同的解决方法可以解决xxx。
2.总结一下,这种情况有不同的原因,然后xxx可以带来不同中的好处。 |
tips:
开头段:背景,There are several causes of this trend, but measures can be taken to address it.
开头段:背景,There are several reasons for this trend and measures need to be taken to tackle it.
结尾段:In conclusion, there are various reasons for xxx, but measures can certainly be taken to tackle this problem.
考的比较少,看篇范文熟悉下即可。
将全面4种揉合在一起,按问的顺序组织作文结构即可。
Q:现在越来越多的人喜欢吃火锅而不关注爆炸,火锅爆炸的原因是什么?你认为这个趋势是好的还是不好的?
开头:背景,这个有不同的原因,我认为是好(不好)的
二段:主要原因是xxx。
三段:一方面,这个趋势是好的。另一方面,xxx会引发xxx问题。
结尾:总结,有不同的原因导致这个趋势,这是好(不好)的趋势。
1. What are the layers of the OSI reference model?
There are 7 OSI layers: 1) Physical Layer, 2) Data Link Layer, 3) Network Layer, 4) Transport Layer, 5) Session Layer, 6) Presentation Layer, and 7) Application Layer.
2.What is the job of the Network Layer under the OSI reference model?
The Network layer is responsible for data routing, packet switching, and control of network congestion. Routers operate under this layer.
3. What is OSI, and what role does it play in computer networks?
OSI (Open Systems Interconnect) serves as a reference model for data communication. It is made up of 7 layers, with each layer defining a particular aspect of how network devices connect and communicate with one another. One layer may deal with the physical media used, while another layer dictates how data is transmitted across the network.
refer:https://www.guru99.com/networking-interview-questions.html
名称 | 内容 |
代码段 | 可执行代码、字符串常量 |
数据段 | 已初始化全局变量、静态变量、常量数据 |
BSS段 | 未初始化全局变量、静态变量 |
栈 | 局部变量、函数参数 |
堆 | 动态分配内存 |
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
代码段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
堆(heap):堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)
栈(stack):栈又称堆栈, 是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进后出特点,所以栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区。
它是由操作系统分配的,内存的申请与回收都由OS管理。
注意:
全局的未初始化变量存在于.bss段中,具体体现为一个占位符;全局的已初始化变量存于.data段中;而函数内的自动变量都在栈上分配空间。.bss是不占用可执行文件空间的,其内容由操作系统初始化(清零);而.data却需要占用,其内容由程序初始化,因此造成了上述情况。
bss段(未手动初始化的数据)并不给该段的数据分配空间,只是记录数据所需空间的大小。
data(已手动初始化的数据)段则为数据分配空间,数据保存在目标文件中。 数据段包含经过初始化的全局变量以及它们的值。BSS段的大小从可执行文件中得到 ,然后链接器得到这个大小的内存块,紧跟在数据段后面。当这个内存区进入程序的地址空间后全部清零。包含数据段和BSS段的整个区段此时通常称为数据区。
1.背单词最好安排在早晨,最迟在中午,以便在12小时后的晚上的复习。每天三个小时,360个新词。
2.记忆周期:5分钟、30分钟、12小时,1、2、4、7、15天
3. 10个单词为一个记忆单元,背5分钟;开始下一个单元时,先复习本单元;背过6个单元后从头开始复习一遍。 晚上睡觉前复习一遍。
4. 17天后开始做题。
5. 15天的记忆周期过后,每天复习3个list(360个单词)(一个list120个单词,初次背需要一个小时的量)。
6. 对于每一次复习时遮住中文释义,想单词意思。
7. 对于没记住的单词可以在前面画星号,下次重点记忆。
8. 本方法的中间阶段,是最为关键也最为痛苦的时期,极易半途而废,请一定咬牙挺过去。如果实在坚持不下去了,就想一想:“如果放弃,前面的单词就全都白背了”。
在WaitGroup里主要有三个方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
func main(){ var wg sync.WaitGroup var urls = []string{ "http://www.golang.org/", "http://www.google.com/", } for _, url := range urls { wg.Add(1) go func(url string) { defer wg.Done() http.Get(url) }(url) } wg.Wait() } |
注:在 WaitGroup 第一次使用后,不能被拷贝
应用示例:
1 2 3 4 5 6 7 8 9 10 11 12 |
func main(){ wg := sync.WaitGroup{} for i := 0; i < 5; i++ { wg.Add(1) go func(wg sync.WaitGroup, i int) { fmt.Printf("i:%d", i) wg.Done() }(wg, i) } wg.Wait() fmt.Println("exit") } |
上面运行会提示所有的 goroutine 都已经睡眠了,出现了死锁。这是因为 wg 给拷贝传递到了 goroutine 中,导致只有 Add 操作,其实 Done操作是在 wg 的副本执行的。因此 Wait 就死锁了。
通常,在一些简单场景下使用 channel 和 WaitGroup 已经足够了,但是当面临一些复杂多变的网络并发场景下 channel 和 WaitGroup 显得有些力不从心了。 比如一个网络请求 Request,每个 Request 都需要开启一个 goroutine 做一些事情,这些 goroutine 又可能会开启其他的 goroutine,比如数据库和RPC服务。 所以我们需要一种可以跟踪 goroutine 的方案,才可以达到控制他们的目的,这就是Go语言为我们提供的 Context,称之为上下文非常贴切,它就是goroutine 的上下文。
var slice []int 是一个nil slice,直接用会越界
slice := []int{} 是一个空slice
进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。
线程是进程的一个实体,是CPU调度和分派的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)。线程间通信主要通过共享内存,上下文切换很快,资源开销较少,但相比进程不够稳定容易丢失数据。
协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。
线程和协程的区别:
Channel是Go中的一个核心类型,可以把它看成一个管道,Channel也可以理解是一个先进先出的队列,通过管道进行通信。
Golang的Channel,发送一个数据到Channel 和 从Channel接收一个数据 都是 原子性的。而且Go的设计思想就是:不要通过共享内存来通信,而是通过通信来共享内存,前者就是传统的加锁,后者就是Channel。也就是说,设计Channel的主要目的就是在多任务间传递数据的,这当然是安全的。
解决数据竞争(Data race),也可以使用管道解决,使用管道的效率要比互斥锁Mutex高。
1. 当前Golang使用的垃圾回收机制是三色标记法配合写屏障和辅助GC,三色标记法是标记-清除法的一种增强版本。
2. 从root根出发扫描所有根对象,将他们引用的对象标记为灰色,将灰色对象置为黑色,将灰色对象引用的对象再置为灰色;以此循环,知道灰色对象队列为空。此时白色对象即为垃圾。
注:root区域主要是程序运行到当前时刻的栈和全局数据区域。
3. GC优化思路
通常小对象过多会导致GC三色法消耗过多的GPU。优化思路是,减少对象分配。
a.避免string与[]byte转化;
两者发生转换的时候,底层数据结结构会进行复制,因此导致 gc 效率会变低。
b.对于string的连接操作,少量小文本拼接,用 “+” ;大量小文本拼接,用 strings.Join;大量大文本拼接,用 bytes.Buffer。
4. GC触发条件
a. 超过内存大小阈值
b. 达到定时时间,阈值是由一个gcpercent的变量控制的,当新分配的内存占已在使用中的内存的比例超过gcprecent时就会触发。
c. 调用runtime.GC()时,主动触发,如果GC已经启动则跳过。
比如一次回收完毕后,内存的使用量为5M,那么下次回收的时机则是内存分配达到10M的时候。也就是说,并不是内存分配越多,垃圾回收频率越高。 如果一直达不到内存大小的阈值呢?这个时候GC就会被定时时间触发,比如一直达不到10M,那就定时(默认2min触发一次)触发一次GC保证资源的回收。
1.left join 会以左表为全量数据,然后on匹配右表的,所以left join里面对左表的on条件无效。right join同理。
2.left join和right join的on和where区别:on作为连接的条件(左连接时,on左表的条件无效,on右表的条件使得右表对应不满足条件的行为NULL,行数和没有条件还是一样),on先生成临时表,where再在临时表中筛选。
3.左连接时,尽量选择数据量小的表作为左表,可以减少筛选次数。右连接同理。
4.inner join的on和where作用相同,但是inner join只是自己判断选择哪个表作为左表,临时表的数据量不会变小。
5.在使用left join时,on和where条件的区别如下:
a. on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
b.where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。