Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
7ad742c
W1-task1 self introduce
wiloon Oct 9, 2021
4037c6f
W1-task1, about Dalian
wiloon Oct 9, 2021
b38baf0
formating
wiloon Oct 10, 2021
6f9e71d
w1,task2
wiloon Oct 11, 2021
f809877
w1,task1 fix
wiloon Oct 11, 2021
15a3d94
Add more works to eleduck dictionary
chuanjin Oct 12, 2021
56c9d0f
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 12, 2021
69f208b
spell fix
wiloon Oct 12, 2021
09d935c
Asahi is not a typo, it is an open-source project's name, add "Asahi"…
wiloon Oct 12, 2021
9a2b702
Update task3.md
winetx-winetx Oct 12, 2021
c9f6e07
Update task3.md
winetx-winetx Oct 12, 2021
c3158f5
w1,task3
wiloon Oct 12, 2021
065fefd
Merge branch 'RoyWang' of github.com:eleduck/eleduck-camp into RoyWang
wiloon Oct 12, 2021
d04eae1
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 12, 2021
4bad93f
spell fix, and add more words
wiloon Oct 12, 2021
e648417
task1,2,3 fix
wiloon Oct 12, 2021
759e48b
Add more words to eleduck dictionary
chuanjin Oct 13, 2021
f7e6536
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 13, 2021
2bf9148
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 14, 2021
9ed5c24
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 17, 2021
de78cb4
week1
wiloon Oct 17, 2021
f1dc485
spell fix
wiloon Oct 17, 2021
04de792
Update the way of submmitting docs to use Google Docs
chuanjin Oct 18, 2021
e9c8a54
w2, task1
wiloon Oct 19, 2021
7b40929
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 19, 2021
dec4b47
w2, task1, typo fix
wiloon Oct 19, 2021
fd3ae20
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 20, 2021
0e1be70
w2, task2
wiloon Oct 20, 2021
899c64e
w2,task1 fix
wiloon Oct 21, 2021
9376080
spell fix
wiloon Oct 21, 2021
acabdc9
w2,task3
wiloon Oct 21, 2021
7b78e5a
spell fix
wiloon Oct 21, 2021
68d9eb9
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 22, 2021
4b9d2e0
w2,task4
wiloon Oct 24, 2021
4b21a8f
w2 fix
wiloon Oct 26, 2021
f9db694
spell fix
wiloon Oct 26, 2021
c7903e3
w3,task1
wiloon Oct 28, 2021
d117c02
typo fix
wiloon Oct 28, 2021
1a850cb
try again for typo fix
wiloon Oct 28, 2021
ddd8944
Update task1.md
wiloon Oct 29, 2021
a22b55f
w3,task2,3
wiloon Oct 30, 2021
068cab5
Merge remote-tracking branch 'origin/main' into RoyWang
wiloon Oct 30, 2021
04678b5
w3,task2 fix
wiloon Oct 31, 2021
20c5de5
w3,task2 fix
wiloon Oct 31, 2021
51adef2
w3,task2 fix typo
wiloon Oct 31, 2021
fef02e8
w3,task4
wiloon Oct 31, 2021
064d98c
w3,task4
wiloon Nov 1, 2021
850a042
w3,task6
wiloon Nov 3, 2021
013f6df
spell fix
wiloon Nov 3, 2021
3a358d8
w4,task1,2
wiloon Nov 6, 2021
0abc7c4
w3,task3,4
wiloon Nov 7, 2021
4510635
spell fix
wiloon Nov 7, 2021
e62e04b
w4,task4
wiloon Nov 8, 2021
c3174fe
w4.task5
wiloon Nov 10, 2021
4aad424
w4.task5
wiloon Nov 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .cspell/eleduck-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ SpaceVim
MyBatis
Jianzhu
multithreading
Vuetify
echart
20 changes: 15 additions & 5 deletions courses/w1/task1.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,18 @@

# Writing - Introduce yourself

- Introduce yourself, talk about your current city, profession, hobby, etc.
- What is your education background? School, university, training, certificates, etc.
- What do you do in your spare time?
- What is your short term plan and long term plan?
- What is important to you in your life?
- Introduce yourself, talk about your current city, profession, hobby, etc.
- My name is Roy. I currently live in Dalian and work in an IoT company. I am mainly working on the backend development for the IoT platform. I have 10+ years of experience in Java and 3 years of experience in cloud-based microservice architecture. My hobbies are piano and electronic products related to smart home.

- Dalian is the warmest city in Northeast China. The weather is pleasant with four seasons, and the summer is not too hot, winter not too cold. The yearly average temperature is 10 degrees Celsius. The hottest month is August, with average temperature at 25 degrees.

- What is your education background? School, university, training, certificates, etc.
I graduated from Shenyang Jianzhu University in 2007 with a bachelor's degree in Computer Science.
- What do you do in your spare time?
- In my spare time, I recently reset my router at home and installed PVE, OpenWrt, VPN.
- Mountain bike riding is my favorite sport.

- What is your short term plan and long term plan?
The short-term plan is to find a new job, locally or remotely, and the long-term plan is to become an architect through continuous learning of operating systems, databases, microservice, data structure, algorithms, and other knowledge.
- What is important to you in your life?
Family is more important. Since I was in college, like many people, I have been far away from home and my parents. I went to an unfamiliar city to study and work. And my child will be born next month. I feel more and more that I should spend more time with family.
32 changes: 24 additions & 8 deletions courses/w1/task2.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,30 @@

# Writing - Talk about your work

- Talk about your current working situation.
- How many members are in your team?
- Talk about your teammates.
- Talk about your current working situation.
I am working in an Agile team, we have almost all the skills necessary to deliver a full-stack solution.
- How many members are in your team?
There are 9 people in our team.
- Talk about your teammates.
Our team is cross-functional, we have a few backend and front-end developers, one designer, one DBA and one mobile developer. Our team even has an embedded developer who also has the role of a backend developer.

- What are your roles and responsibilities?
- What are your best skills?
- What techniques/languages do you want to work with in the future?
- Talk about your favorite editor
- Talk about your favorite open source project.
- Tell me about a typical day at work.
- I am mainly working on the backend development. Develop and maintain the protocol-parse service for the IoT platform, process or forward or store data according to various business scenarios.
- I am also responsible for the data pushing service, push data to third-party partners.
- I am taking scrum master role in the team as well.

- What are your best skills?
High concurrency service optimization. For example, before optimization, we had a service deployed with 10 nodes, but occasionally OOM is reported, after optimization, the service runs more smoothly, and then we release 6 nodes.
- What techniques/languages do you want to work with in the future?
In the future, I want to work with Java, Golang with microservice architecture, and I am also interested in Rust and Service Mesh.
- Talk about your favorite editor
My favorite editor is Intellij.
- Talk about your favorite open source project.
My favorite open source project is Asahi Linux. It is a project with the goal of porting Linux to Apple Silicon Macs. The Apple Silicon is an entirely undocumented platform, the community need to make reverse engineering the Apple GPU architecture and develop an open-source driver for it. It is so cool, I like it.
- Tell me about a typical day at work.
After I arrive at the office in the morning, I usually take a look at the monitoring of the production environment first, then update the status of my tasks on the Kanban, and prepare a little bit for the stand-up meeting, after the 15-minutes meeting, I will focus on my development tasks, and occasionally needed to deal with the alarm of the production environment and investigate the problems.
- How do you work with your teammates?
- On the first day of each sprint, our team will hold a sprint planning meeting. The team will decompose tasks from high-priority tasks and put them into the sprint backlog. The team will discuss the design of each requirement at this meeting.
- Every morning we will have a stand-up meeting where the team syncs their status, and everyone has to answer three questions, What did you do yesterday? What will you do today? Is there anything blocking you?
- How do you work with your cross-functional teams?
In the sprint plan meeting, the team will discuss the requirements together. Professionals in different fields will give opinions from a professional perspective. If problems are encountered during the development process, we will communicate in the daily meeting, or use pair programming to solve the problem.
4 changes: 4 additions & 0 deletions courses/w1/task3.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
# Writing - Describe your previous projects

- Talk about your former companies and projects
My former company is an IT service company, and the project was mainly to develop customized information management systems for enterprises. My department is mainly for European and American customers.
- Which is your favorite project and why?
My favorite project is an Android App cracking project. A customer wanted to know whether the App developed by a third-party company meets the information security requirements, so the customer asked us to try to spend a week to see if it can crack the App to get the data inside. In the week, we did some reverse-engineering work on the App and analyzed the program logic, finally cracked the App, and submitted a security risk report. A few months later, the third-party company provided an upgraded App with a new encryption method. We verified it again and gave the final report. The reason I like this project more is that it is a more challenging project than other normal information management systems.
- What tech stack have you used before?
We use Java, Spring, and MyBatis for the backend development, and Jquery, and Bootstrap for the frontend. The database is Oracle.
- What were your roles and responsibilities?
My main role is a developer, in my last year in this company, I sometimes need to participate in part of the business requirement analysis work.
15 changes: 9 additions & 6 deletions courses/w2/task1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@

# Writing - Build up Cover Letter

- Why did you apply for the job?
- Why do they offer you the job? answer following three questions
- Can you do the job? (technical skills)
- Are you good fit for the team (soft skills)
- Do they like you (Interest)

- Why did you apply for the job?
I believe that my experience with technology, specifically in the Java backend field, makes me the best match for this position. In my previous job, I was responsible for developing and maintaining our IoT platform. I gained hands-on project experience in high-concurrency and multithreading development. I truly enjoyed what I was doing, which is what drew me to this position with your company. I would love to bring the coding skills I learned there to this position.

- Why do they offer you the job? answer following three questions
- Can you do the job? (technical skills)
I have more than 10 years of Java experience, and I am very familiar with core Java. I have a lot of experience in multithreading programming. I have always been interested in the new features of JDK, such as the loom project. I also have a lot of experience in MySQL and time-series databases. I believe I can do this job.
- Are you good fit for the team (soft skills)
I have 3 years of working experience in agile teams, and I am familiar with how agile teams work, so I can adapt to the team successfully.
- Do they like you (Interest)
My personality is relatively easy-going. I am studying smart home hardware in my spare time. I can share with you guys the knowledge, and I believe you will like it as I do.
9 changes: 6 additions & 3 deletions courses/w2/task2.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@

# Writing - Ability to Adapt

- Tell me about a time you were under a lot of pressure. What was going on, and how did you get through it?
- Describe a time when your team or company was undergoing some change. How did that impact you, and how did you adapt?
- Tell me about the first job you’ve ever had. What did you do to learn the ropes?
- Tell me about a time you were under a lot of pressure. What was going on, and how did you get through it?
Once, a back-end service frequently reported errors during the morning and evening peak hours. The customer service department also reported that many customers complained that the service was unavailable. The Boss also paid close attention to this problem and hoped that the platform could provide more stable services to customers. We were under pressure at that time. Because every time when this service reports OOM and is restarted, there will be customer data loss. Our preliminary judgment was the problem might be caused by the insufficient processing capacity of some downstream services. The temporary solution would be to increase resources to cache peak data to ensure the user data will not be lost. Then we had time to investigate the specific problem. Later we found the downstream bottleneck service and made corresponding adjustments to the platform architecture, add cache in front of this service, and replaced the downstream service with a time-series database, In the end, the service runs smoothly and we released 6 out of 10 nodes.
- Describe a time when your team or company was undergoing some change. How did that impact you, and how did you adapt?
There has been a change. Due to the company's business problems, our team was reduced in size, and the guys in charge of the CI/CD tools left. The leader asked me to take over part of the work. I didn't know much about shell script, ansible, and GoCD..., but after a period of study, I read the documents and asked for help from my colleagues when I couldn't find the solution for issues from the internet. Finally, I was able to help the teammates solve some deployment script issues.
- Tell me about the first job you’ve ever had. What did you do to learn the ropes?
When I was in my first job, I didn't know much about technology detail and business logic. To get familiar with my job, I think the main way of learning was to ask the seniors for advice, and the other was to read the source code and read related technical books. In some complicated places, debugging might be possible. Take a look and see how that piece of code works.
- Give me an example of a time when you had to think on your feet in order to delicately extricate yourself from a difficult or awkward situation.
- Tell me about a time you failed. How did you deal with the situation?
10 changes: 6 additions & 4 deletions courses/w2/task3.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
## Teamwork

- Talk about a time when you had to work closely with someone whose personality was very different from yours.
- Give me an example of a time you faced a conflict while working in a team. How did you handle that?
- Give me an example of a time you faced a conflict while working in a team. How did you handle that?
Once, a colleague in the customer service department, let's call him Bob. Bob contacted me and said that there was an emergency that needed our department's help. After I learned the situation, I immediately contacted a colleague who could handle the problem. While waiting for feedback, Bob came again and angrily asked when the problem would be solved. I controlled the emotion of wanting to fight with him and said, I understand that you want to solve the customer's problem quickly. I have contacted my colleague and he also understands that this is an emergency. I believe he will deal with it as quickly as possible. Let's not disturb him, can you wait for his feedback? Bob also realized that emotions did not help solve the problem, and planned to go back and wait for the news. One minute later, my colleague reported that the problem was solved. Later Bob also expressed his gratitude for our quick response.
- Describe a time when you struggled to build a relationship with someone important. How did you eventually overcome that?
- We all make mistakes we wish we could take back. Tell me about a time you wish you’d handled a situation differently with a colleague.
- Tell me about a time you needed to get information from someone who wasn’t very responsive. What did you do?
- Tell me about a time you needed to get information from someone who wasn’t very responsive. What did you do?
Once a colleague did not reply to my message, the next day I sent another message to remind him and make a phone call.
- Give an example of how you work in a team.
- What do you do if you disagree with someone in your work?

- What do you do if you disagree with someone in your work?
I will explain to him why I have different ideas, and I want to hear why he chose another option. This kind of situation is usually in the sprint planning meeting, when other colleagues will be there, and we also listen to the opinions of other colleagues.

## Communication

Expand Down
18 changes: 15 additions & 3 deletions courses/w2/task4.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,20 @@
# Writing - Time Management

- Tell me about a time you had to be very strategic in order to meet all your top priorities.
- Describe a long-term project that you managed. How did you keep everything moving along in a timely manner?
- Describe a long-term project that you managed. How did you keep everything moving along in a timely manner?
```
For long-term projects, we generally split the tasks first, then prioritize them according to their dependencies and importance, and then put the task in each sprint to complete in batches. Once we wanted to upgrade the version of a database, we discussed it at a planning meeting and found that there are many unknown factors in this task, such as the difference between the two versions of the database, the compatibility of data files, and which services depend on this database. In the first week, we split these survey questions into several stories. We investigated separately and summarized the results in the next sprint planning meeting, After analysis, we determined the migration plan and the following tasks. Because the version span is relatively large, there are compatibility issues, considering the business dependence, we decided not to upgrade on the original database, but to build a new database and gradually migrate the business. We split several subtasks and put them into backlog:
- create a new database
- change the writing service to write the old database and new database at the same time
- migrate read-only service gradually
- switch the writing service to the new database after two week
- release the old database

The teammate who takes these tasks will update the latest status and problems encountered in the stand-up meeting. At the planning meeting, we will discuss the status of the previous week and the tasks planned to be completed next week. Finally, it took 5 sprints to complete the database migration.
```
- Sometimes it’s just not possible to get everything on your to-do list done. Tell me about a time your responsibilities got a little overwhelming. What did you do?
- Tell me about a time you set a goal for yourself. How did you go about ensuring that you would meet your objective?
- Tell me about a time you set a goal for yourself. How did you go about ensuring that you would meet your objective?
I want to read the book *Soft Skills: The software developer's life manual* in my spare time, but I'm not sure how long I can finish it. In the first week, I started to try to read it in my spare time. By the end of the week, I could read about 20%, and then I set a goal to finish reading this book in 5 weeks, about 3% per day, and about 20% per week, After I have a goal, I won't think about playing LOL in my free time, In the end, I finished reading this book in about 4 weeks.
- Give me an example of a time you managed numerous responsibilities. How did you handle that?
- Why do you choose remote work? How do you cooperative with teammates in different time zones?
- Why do you choose remote work? How do you cooperative with teammates in different time zones?
Remote work can save commuting time, better balance work and life, and you can choose work regardless of region. As for cooperating with colleagues, if it is not urgent, we can use slack and leave a message, or send an email, and schedule an online meeting for complicated issues, and for urgent issues, we can make a phone call.
13 changes: 9 additions & 4 deletions courses/w3/task1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@

# Writing - Linux Basics

- How to check all 'unzip' commands previously run by the user you are currently connected to ?
- What is the difference between Telnet and SSH?
- Which Linux command do you use to check the memory usage?
- Count every occurrence of the term “linux” in all the files appearing under the current directory, and its subdirectories, recursively?
- How to check all 'unzip' commands previously run by the user you are currently connected to ?
We can use the "history" command with the grep command to filter the result.
- What is the difference between Telnet and SSH?
The difference between Telnet and SSH is, Telnet sends data in clear text, The SSH uses public-key encryption.
- Which Linux command do you use to check the memory usage?
There are couples of commands that can check the memory usage, free, top, htop, vmstat.
- Count every occurrence of the term “linux” in all the files appearing under the current directory, and its subdirectories, recursively?
Add the option "r" after the grep command, it will scan the files recursively, and pipe it into wc command with "l" option
- How to check which ports are listening in my Linux Server?
For the system which installed iproute2, we can use ss command with options l to check which ports are listening, usually I use "n", "t", "l", "p" options together, the option n stands for not try to resolve port number to service names, the option t stands for filter the tcp protocol, the option p will print the process id.
Loading