Skip to content

Commit 78f9dfc

Browse files
updates
1 parent 22d5651 commit 78f9dfc

28 files changed

Lines changed: 859 additions & 87 deletions

File tree

app/cloud-job-support-usa/page.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
import LandingPageTemplate from '@/components/LandingPageTemplate';
3+
import { cloudJobSupportUSA } from '@/data/landing-pages';
4+
import { landingPageMetadata } from '@/lib/site-seo';
5+
6+
export const metadata: Metadata = landingPageMetadata(cloudJobSupportUSA);
7+
8+
export default function CloudJobSupportUSAPage() {
9+
return <LandingPageTemplate config={cloudJobSupportUSA} />;
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
import LandingPageTemplate from '@/components/LandingPageTemplate';
3+
import { dotnetJobSupportUSA } from '@/data/landing-pages';
4+
import { landingPageMetadata } from '@/lib/site-seo';
5+
6+
export const metadata: Metadata = landingPageMetadata(dotnetJobSupportUSA);
7+
8+
export default function DotnetJobSupportUSAPage() {
9+
return <LandingPageTemplate config={dotnetJobSupportUSA} />;
10+
}

app/get-interview-scheduled/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ export default function GetInterviewScheduledPage() {
11251125
{ label: 'Interview Scheduled — Canada', href: '/get-interview-scheduled-canada/' },
11261126
{ label: 'Interview Scheduled — Germany', href: '/get-interview-scheduled-germany/' },
11271127
{ label: 'Interview Scheduled — Singapore', href: '/get-interview-scheduled-singapore/' },
1128-
{ label: 'Interview Questions', href: '/interviews/' },
1128+
{ label: 'Interview Questions', href: '/interview-questions/' },
11291129
{ label: 'Blog', href: '/blog/' },
11301130
].map((l) => (
11311131
<a key={l.href} href={l.href} className="gis-related-link">{l.label}</a>

app/interview-questions/page.tsx

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
import type { Metadata } from 'next';
2+
import Link from 'next/link';
3+
import { getAllInterviews } from '@/lib/interviews';
4+
import TopBar from '@/components/TopBar';
5+
import Navbar from '@/components/Navbar';
6+
import Footer from '@/components/Footer';
7+
import PageBottomCTA from '@/components/PageBottomCTA';
8+
import WhatsAppFloat from '@/components/WhatsAppFloat';
9+
import { defaultOgImage } from '@/lib/site-seo';
10+
import { WHATSAPP_ME_URL } from '@/lib/whatsapp';
11+
12+
const canonical = 'https://proxytechsupport.com/interview-questions/';
13+
const pageTitle = 'IT Interview Questions – Real Technical Questions & Answers';
14+
const shortDescription =
15+
'Real IT interview questions captured from live technical rounds for USA, UK & Canada roles. Java, Python, React, DevOps, AWS & more. Struggling to clear interviews? Get expert help.';
16+
const longP1 =
17+
'Real interview discussions collected daily while supporting developers in live projects, job support sessions, and proxy interview assistance across USA, UK, Canada, and Australia.';
18+
const longP2 =
19+
'These are not theory-based interview questions. They are captured from real interview calls, technical rounds, and hiring discussions exactly as they happened, then structured to help other developers understand what companies are really asking today.';
20+
21+
export const metadata: Metadata = {
22+
title: pageTitle,
23+
description: shortDescription,
24+
alternates: { canonical },
25+
robots: { index: true, follow: true },
26+
openGraph: {
27+
type: 'website',
28+
title: pageTitle,
29+
description: shortDescription,
30+
url: canonical,
31+
siteName: 'Proxy Tech Support',
32+
locale: 'en_US',
33+
images: [defaultOgImage],
34+
},
35+
twitter: {
36+
card: 'summary_large_image',
37+
title: pageTitle,
38+
description: shortDescription,
39+
images: [defaultOgImage.url],
40+
},
41+
other: {
42+
language: 'English',
43+
'revisit-after': '7 days',
44+
},
45+
};
46+
47+
export default async function InterviewQuestionsPage() {
48+
const interviews = await getAllInterviews();
49+
50+
return (
51+
<>
52+
<TopBar />
53+
<Navbar />
54+
<main
55+
className="pts-listing-main"
56+
style={{ width: '100%', maxWidth: 'var(--pts-content-max)', margin: '0 auto', padding: '3rem 1rem', background: 'var(--pts-bg)', minHeight: '60vh' }}
57+
>
58+
<div
59+
className="pts-listing-hero-banner"
60+
style={{
61+
background: 'linear-gradient(135deg, #030f0f 0%, #03624c 100%)',
62+
borderRadius: '12px',
63+
padding: '1.25rem 1.5rem',
64+
marginBottom: '2rem',
65+
display: 'flex',
66+
flexWrap: 'wrap',
67+
alignItems: 'center',
68+
justifyContent: 'space-between',
69+
gap: '1rem',
70+
}}
71+
>
72+
<div>
73+
<p style={{ fontSize: '0.7rem', fontWeight: 700, letterSpacing: '0.15em', textTransform: 'uppercase', color: '#00df82', marginBottom: '0.25rem' }}>Live Expert Help</p>
74+
<p style={{ fontSize: '0.97rem', fontWeight: 700, color: '#ffffff', lineHeight: 1.35, margin: 0 }}>
75+
Struggling to clear interviews? Get real-time expert coaching — USA, UK, Canada &amp; worldwide.
76+
</p>
77+
</div>
78+
<div style={{ display: 'flex', gap: '0.6rem', flexWrap: 'wrap' }}>
79+
<a href={WHATSAPP_ME_URL} target="_blank" rel="noopener noreferrer"
80+
style={{ display:'inline-flex', alignItems:'center', gap:'0.35rem', background:'#25D366', color:'#fff', fontWeight:700, fontSize:'0.85rem', padding:'0.6rem 1.1rem', borderRadius:'50px', textDecoration:'none' }}>
81+
Get Instant Help
82+
</a>
83+
<a href="/interviews/"
84+
style={{ display:'inline-flex', alignItems:'center', gap:'0.35rem', background:'rgba(255,255,255,0.12)', color:'#fff', fontWeight:600, fontSize:'0.85rem', padding:'0.6rem 1.1rem', borderRadius:'50px', textDecoration:'none', border:'1px solid rgba(255,255,255,0.3)' }}>
85+
Interview Services →
86+
</a>
87+
</div>
88+
</div>
89+
90+
<h1 style={{ fontSize: 'clamp(1.5rem, 3vw, 2.2rem)', fontWeight: 700, color: 'var(--pts-text)', marginBottom: '1rem' }}>
91+
Interview Questions
92+
</h1>
93+
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.7 }}>{longP1}</p>
94+
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '2.5rem', lineHeight: 1.7 }}>{longP2}</p>
95+
96+
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.5rem' }}>
97+
{interviews.map((interview) => (
98+
<article key={interview.slug} className="card" style={{ padding: '1.5rem' }}>
99+
<h2 style={{ fontSize: '1.05rem', fontWeight: 700, color: 'var(--pts-text)', marginBottom: '0.4rem' }}>
100+
<Link href={`/interviews/${interview.slug}/`} style={{ color: 'var(--pts-text)', textDecoration: 'none' }}>
101+
{interview.title}
102+
</Link>
103+
</h2>
104+
{interview.date && (
105+
<p style={{ fontSize: '0.8rem', color: 'var(--pts-text-subtle)', marginBottom: '0.5rem' }}>
106+
{new Date(interview.date).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}
107+
</p>
108+
)}
109+
{interview.description && (
110+
<p style={{ fontSize: '0.9rem', color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.6 }}>
111+
{interview.description}
112+
</p>
113+
)}
114+
<Link href={`/interviews/${interview.slug}/`} style={{ color: 'var(--pts-accent)', fontWeight: 600, fontSize: '0.9rem' }}>
115+
Read More →
116+
</Link>
117+
</article>
118+
))}
119+
</div>
120+
</main>
121+
<PageBottomCTA />
122+
<Footer />
123+
<WhatsAppFloat />
124+
</>
125+
);
126+
}

app/interviews/[slug]/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export default async function InterviewPostPage({ params }: Props) {
7676
wrapWithBlogShell
7777
breadcrumbs={[
7878
{ label: 'Home', href: '/' },
79-
{ label: 'Interview Questions', href: '/interviews/' },
79+
{ label: 'Interview Questions', href: '/interview-questions/' },
8080
{ label: interview.title },
8181
]}
8282
>

app/interviews/page.tsx

Lines changed: 61 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import type { Metadata } from 'next';
2-
import Link from 'next/link';
3-
import { getAllInterviews } from '@/lib/interviews';
42
import TopBar from '@/components/TopBar';
53
import Navbar from '@/components/Navbar';
64
import Footer from '@/components/Footer';
@@ -10,13 +8,9 @@ import { defaultOgImage } from '@/lib/site-seo';
108
import { WHATSAPP_ME_URL } from '@/lib/whatsapp';
119

1210
const canonical = 'https://proxytechsupport.com/interviews/';
13-
const pageTitle = 'IT Interview QuestionsReal Technical Questions & Answers';
11+
const pageTitle = 'Interview ServicesProxy Interview Support & Scheduling Help';
1412
const shortDescription =
15-
'Real IT interview questions captured from live technical rounds for USA, UK & Canada roles. Java, Python, React, DevOps, AWS & more. Struggling to clear interviews? Get expert help.';
16-
const longP1 =
17-
'Real interview discussions collected daily while supporting developers in live projects, job support sessions, and proxy interview assistance across USA, UK, Canada, and Australia.';
18-
const longP2 =
19-
'These are not theory-based interview questions. They are captured from real interview calls, technical rounds, and hiring discussions exactly as they happened, then structured to help other developers understand what companies are really asking today.';
13+
'Explore interview services: proxy interview support, get interview scheduled support, and country-specific interview help. Need technical interview prep? View real interview questions.';
2014

2115
export const metadata: Metadata = {
2216
title: pageTitle,
@@ -44,9 +38,46 @@ export const metadata: Metadata = {
4438
},
4539
};
4640

47-
export default async function InterviewsPage() {
48-
const interviews = await getAllInterviews();
41+
const interviewServiceCards = [
42+
{
43+
title: 'Proxy Interview Support',
44+
description: 'Real-time in-house expert support during live technical interviews for coding rounds, system design, and pressure scenarios.',
45+
href: '/proxy-interview-support/',
46+
cta: 'Explore Proxy Support →',
47+
},
48+
{
49+
title: 'Get Interview Scheduled',
50+
description: 'Profile engineering and recruiter visibility optimization to help you get more interview calls in the USA and global markets.',
51+
href: '/get-interview-scheduled/',
52+
cta: 'Get Interview Calls →',
53+
},
54+
{
55+
title: 'Interview Support Global',
56+
description: 'End-to-end interview guidance for developers targeting USA, UK, Canada, Australia, Europe, and other international markets.',
57+
href: '/interview-support-global/',
58+
cta: 'View Global Support →',
59+
},
60+
{
61+
title: 'Proxy Interview USA',
62+
description: 'Country-focused interview support with timing, expectations, and live technical guidance calibrated for USA interview formats.',
63+
href: '/proxy-interview-usa/',
64+
cta: 'Open USA Interview Support →',
65+
},
66+
{
67+
title: 'Proxy Interview UK',
68+
description: 'Structured proxy interview support for UK-based technical rounds and hiring patterns.',
69+
href: '/proxy-interview-uk/',
70+
cta: 'Open UK Interview Support →',
71+
},
72+
{
73+
title: 'Proxy Interview Canada',
74+
description: 'Interview assistance for Canadian engineering roles with focused preparation and live round support.',
75+
href: '/proxy-interview-canada/',
76+
cta: 'Open Canada Interview Support →',
77+
},
78+
];
4979

80+
export default function InterviewsPage() {
5081
return (
5182
<>
5283
<TopBar />
@@ -73,55 +104,47 @@ export default async function InterviewsPage() {
73104
<div>
74105
<p style={{ fontSize: '0.7rem', fontWeight: 700, letterSpacing: '0.15em', textTransform: 'uppercase', color: '#00df82', marginBottom: '0.25rem' }}>Live Expert Help</p>
75106
<p style={{ fontSize: '0.97rem', fontWeight: 700, color: '#ffffff', lineHeight: 1.35, margin: 0 }}>
76-
Struggling to clear interviews? Get real-time expert coaching — USA, UK, Canada &amp; worldwide.
107+
Interview support services for USA, UK, Canada &amp; worldwide.
77108
</p>
78109
</div>
79110
<div style={{ display: 'flex', gap: '0.6rem', flexWrap: 'wrap' }}>
80111
<a href={WHATSAPP_ME_URL} target="_blank" rel="noopener noreferrer"
81112
style={{ display:'inline-flex', alignItems:'center', gap:'0.35rem', background:'#25D366', color:'#fff', fontWeight:700, fontSize:'0.85rem', padding:'0.6rem 1.1rem', borderRadius:'50px', textDecoration:'none' }}>
82113
Get Instant Help
83114
</a>
84-
<a href="/interview-support-global/"
115+
<a href="/interview-questions/"
85116
style={{ display:'inline-flex', alignItems:'center', gap:'0.35rem', background:'rgba(255,255,255,0.12)', color:'#fff', fontWeight:600, fontSize:'0.85rem', padding:'0.6rem 1.1rem', borderRadius:'50px', textDecoration:'none', border:'1px solid rgba(255,255,255,0.3)' }}>
86-
Learn More
117+
Interview Questions
87118
</a>
88119
</div>
89120
</div>
90121

91122
<h1 style={{ fontSize: 'clamp(1.5rem, 3vw, 2.2rem)', fontWeight: 700, color: 'var(--pts-text)', marginBottom: '1rem' }}>
92-
Interview Questions
123+
Interview Services
93124
</h1>
94-
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.7 }}>{longP1}</p>
95-
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '2.5rem', lineHeight: 1.7 }}>{longP2}</p>
125+
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.7 }}>
126+
High-stakes technical interview coming up? Our in-house experts support you before and during live interview rounds so you can perform with confidence, clarity, and speed.
127+
</p>
128+
<p style={{ color: 'var(--pts-text-muted)', marginBottom: '2.5rem', lineHeight: 1.7 }}>
129+
Choose your interview service below — proxy interview support, interview scheduling help, and country-focused interview support for USA, UK, Canada, and global roles.
130+
</p>
96131

97-
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.5rem' }}>
98-
{interviews.map((interview) => (
132+
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(260px, 1fr))', gap: '1rem' }}>
133+
{interviewServiceCards.map((service) => (
99134
<article
100-
key={interview.slug}
135+
key={service.href}
101136
className="card"
102137
style={{ padding: '1.5rem' }}
103138
>
104139
<h2 style={{ fontSize: '1.05rem', fontWeight: 700, color: 'var(--pts-text)', marginBottom: '0.4rem' }}>
105-
<Link href={`/interviews/${interview.slug}/`} style={{ color: 'var(--pts-text)', textDecoration: 'none' }}>
106-
{interview.title}
107-
</Link>
140+
<a href={service.href} style={{ color: 'var(--pts-text)', textDecoration: 'none' }}>{service.title}</a>
108141
</h2>
109-
{interview.date && (
110-
<p style={{ fontSize: '0.8rem', color: 'var(--pts-text-subtle)', marginBottom: '0.5rem' }}>
111-
{new Date(interview.date).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}
112-
</p>
113-
)}
114-
{interview.description && (
115-
<p style={{ fontSize: '0.9rem', color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.6 }}>
116-
{interview.description}
117-
</p>
118-
)}
119-
<Link
120-
href={`/interviews/${interview.slug}/`}
121-
style={{ color: 'var(--pts-accent)', fontWeight: 600, fontSize: '0.9rem' }}
122-
>
123-
Read More →
124-
</Link>
142+
<p style={{ fontSize: '0.9rem', color: 'var(--pts-text-muted)', marginBottom: '0.75rem', lineHeight: 1.6 }}>
143+
{service.description}
144+
</p>
145+
<a href={service.href} style={{ color: 'var(--pts-accent)', fontWeight: 600, fontSize: '0.9rem', textDecoration: 'none' }}>
146+
{service.cta}
147+
</a>
125148
</article>
126149
))}
127150
</div>

app/react-job-support-usa/page.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
import LandingPageTemplate from '@/components/LandingPageTemplate';
3+
import { reactJobSupportUSA } from '@/data/landing-pages';
4+
import { landingPageMetadata } from '@/lib/site-seo';
5+
6+
export const metadata: Metadata = landingPageMetadata(reactJobSupportUSA);
7+
8+
export default function ReactJobSupportUSAPage() {
9+
return <LandingPageTemplate config={reactJobSupportUSA} />;
10+
}

app/sitemap.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
4848
{ url: `${BASE}/`, lastModified: today, changeFrequency: 'weekly', priority: prio('1.0') },
4949
{ url: `${BASE}/blog/`, lastModified: today, changeFrequency: 'weekly', priority: prio('0.8') },
5050
{ url: `${BASE}/interviews/`, lastModified: today, changeFrequency: 'weekly', priority: prio('0.8') },
51+
{ url: `${BASE}/interview-questions/`, lastModified: today, changeFrequency: 'weekly', priority: prio('0.8') },
5152
{ url: `${BASE}/technologies/`, lastModified: today, changeFrequency: 'monthly', priority: prio('0.3') },
5253
...getInterviewScheduledRoutes,
5354
...allLandingPages.map((p) => ({

components/Footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const serviceLinks = [
2424

2525
const resourceLinks = [
2626
{ label: 'Blog', href: '/blog/' },
27-
{ label: 'Interview Questions', href: '/interviews/' },
27+
{ label: 'Interview Questions', href: '/interview-questions/' },
2828
{ label: 'Technologies', href: '/#tech' },
2929
{ label: 'FAQ', href: '/#faq' },
3030
{ label: 'Contact', href: '/#contact' },

components/GetInterviewScheduledGeoTemplate.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ export default function GetInterviewScheduledGeoTemplate({ config }: Props) {
676676
{ label: 'Job Support Canada', href: '/job-support-canada/' },
677677
{ label: 'Job Support Australia', href: '/job-support-australia/' },
678678
{ label: 'Job Support Europe', href: '/job-support-europe/' },
679-
{ label: 'Interview Questions', href: '/interviews/' },
679+
{ label: 'Interview Questions', href: '/interview-questions/' },
680680
{ label: 'Blog', href: '/blog/' },
681681
].map((l) => (<a key={l.href} href={l.href} className="gg-related-link">{l.label}</a>))}
682682
</div>

0 commit comments

Comments
 (0)